Remove default parameter values and make them not nullable.

This commit is contained in:
Benoit Marty
2026-07-07 14:34:14 +02:00
parent 387022a9af
commit 3ec7aa2a55
3 changed files with 25 additions and 21 deletions
@@ -70,13 +70,13 @@ fun EmojiItem(
item: Emoji, item: Emoji,
isSelected: Boolean, isSelected: Boolean,
onSelectEmoji: (Emoji) -> Unit, onSelectEmoji: (Emoji) -> Unit,
onLongPress: (Emoji) -> Unit,
onDismissSkinPicker: () -> Unit,
skinPickerEmoji: Emoji?,
selectedSkinUnicodes: ImmutableSet<String>,
hasSelectedSkin: Boolean,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
emojiSize: TextUnit = 20.sp, emojiSize: TextUnit = 20.sp,
onLongPress: ((Emoji) -> Unit)? = null,
skinPickerEmoji: Emoji? = null,
onDismissSkinPicker: (() -> Unit)? = null,
selectedSkinUnicodes: ImmutableSet<String> = persistentSetOf(),
hasSelectedSkin: Boolean = false,
) { ) {
val backgroundColor = when { val backgroundColor = when {
isSelected -> ElementTheme.colors.bgActionPrimaryRest isSelected -> ElementTheme.colors.bgActionPrimaryRest
@@ -139,12 +139,10 @@ fun EmojiItem(
var startOffset = Offset.Zero var startOffset = Offset.Zero
detectDragGesturesAfterLongPress( detectDragGesturesAfterLongPress(
onDragStart = { position -> onDragStart = { position ->
if (onLongPress != null) { startOffset = position
startOffset = position dismissed = false
dismissed = false onLongPress(item)
onLongPress(item) hoveredIndex = -1
hoveredIndex = -1
}
}, },
onDrag = { change, _ -> onDrag = { change, _ ->
if (!dismissed) { if (!dismissed) {
@@ -159,7 +157,7 @@ fun EmojiItem(
if (!isValidDrag) { if (!isValidDrag) {
dismissed = true dismissed = true
hoveredIndex = -1 hoveredIndex = -1
onDismissSkinPicker?.invoke() onDismissSkinPicker()
} else { } else {
val skinItemsCount = item.skins!!.size val skinItemsCount = item.skins!!.size
// Original + variants // Original + variants
@@ -199,7 +197,7 @@ fun EmojiItem(
} }
dismissed = false dismissed = false
hoveredIndex = -1 hoveredIndex = -1
onDismissSkinPicker?.invoke() onDismissSkinPicker()
}, },
onDragCancel = { onDragCancel = {
dismissed = false dismissed = false
@@ -241,7 +239,7 @@ fun EmojiItem(
val pickerHeight = SkinTonePadding * 2 + SkinToneSlotSize val pickerHeight = SkinTonePadding * 2 + SkinToneSlotSize
val popupOffsetPx = with(density) { -pickerHeight.roundToPx() } val popupOffsetPx = with(density) { -pickerHeight.roundToPx() }
Popup( Popup(
onDismissRequest = { onDismissSkinPicker?.invoke() }, onDismissRequest = { onDismissSkinPicker() },
alignment = Alignment.BottomCenter, alignment = Alignment.BottomCenter,
offset = IntOffset(0, popupOffsetPx), offset = IntOffset(0, popupOffsetPx),
) { ) {
@@ -249,7 +247,7 @@ fun EmojiItem(
emoji = item, emoji = item,
onSelect = { selectedEmoji -> onSelect = { selectedEmoji ->
onSelectEmoji(selectedEmoji) onSelectEmoji(selectedEmoji)
onDismissSkinPicker?.invoke() onDismissSkinPicker()
}, },
hoveredIndex = hoveredIndex, hoveredIndex = hoveredIndex,
selectedUnicodes = selectedSkinUnicodes, selectedUnicodes = selectedSkinUnicodes,
@@ -282,6 +280,10 @@ internal fun EmojiItemPreview() = ElementPreview {
isSelected = isSelected, isSelected = isSelected,
onSelectEmoji = {}, onSelectEmoji = {},
hasSelectedSkin = hasSelectedSkin, hasSelectedSkin = hasSelectedSkin,
onLongPress = {},
onDismissSkinPicker = {},
skinPickerEmoji = null,
selectedSkinUnicodes = persistentSetOf(),
) )
} }
} }
@@ -131,10 +131,10 @@ private fun EmojiResults(
emojis: ImmutableList<Emoji>, emojis: ImmutableList<Emoji>,
isEmojiSelected: (Emoji) -> Boolean, isEmojiSelected: (Emoji) -> Boolean,
onSelectEmoji: (Emoji) -> Unit, onSelectEmoji: (Emoji) -> Unit,
onLongPress: ((Emoji) -> Unit)? = null, onLongPress: (Emoji) -> Unit,
skinPickerEmoji: Emoji? = null, skinPickerEmoji: Emoji?,
onDismissSkinPicker: (() -> Unit)? = null, onDismissSkinPicker: () -> Unit,
selectedEmojis: ImmutableSet<String> = persistentSetOf(), selectedEmojis: ImmutableSet<String>,
) { ) {
LazyVerticalGrid( LazyVerticalGrid(
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
@@ -43,10 +43,10 @@ val SkinTonePadding = 4.dp
@Composable @Composable
fun SkinTonePicker( fun SkinTonePicker(
emoji: Emoji, emoji: Emoji,
hoveredIndex: Int,
selectedUnicodes: ImmutableSet<String>,
onSelect: (Emoji) -> Unit, onSelect: (Emoji) -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
hoveredIndex: Int = -1,
selectedUnicodes: ImmutableSet<String> = persistentSetOf(),
) { ) {
val skins = emoji.skins.orEmpty() val skins = emoji.skins.orEmpty()
val emojiSize = 32.dp.toSp() val emojiSize = 32.dp.toSp()
@@ -122,6 +122,8 @@ internal fun SkinTonePickerPreview() = ElementPreview {
unicode = "👍", unicode = "👍",
skins = aSkinList(), skins = aSkinList(),
), ),
hoveredIndex = -1,
selectedUnicodes = persistentSetOf(),
onSelect = {}, onSelect = {},
) )
} }