mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
Remove default parameter values and make them not nullable.
This commit is contained in:
+17
-15
@@ -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(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -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(),
|
||||||
|
|||||||
+4
-2
@@ -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 = {},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user