diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/composer/StoryReplyComposer.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/composer/StoryReplyComposer.kt index 0637d22f4..c9d57dedf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/composer/StoryReplyComposer.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/composer/StoryReplyComposer.kt @@ -178,14 +178,15 @@ class StoryReplyComposer @JvmOverloads constructor( } private fun getReactionEmojis(): List> { - val reactionEmoji = SignalStore.emojiValues().reactions - val recentEmoji = RecentEmojiPageModel(context, ReactWithAnyEmojiBottomSheetDialogFragment.REACTION_STORAGE_KEY).emoji - val emoji = (reactionEmoji + recentEmoji).distinct() - val displayEmoji: List = emoji + val reactionDisplayEmoji: List = SignalStore.emojiValues().reactions.map { Emoji(it) } + val canonicalReactionEmoji: List = reactionDisplayEmoji.map { EmojiSource.latest.variationsToCanonical[it.value] ?: it.value } + val canonicalRecentReactionEmoji: Set = LinkedHashSet(RecentEmojiPageModel(context, ReactWithAnyEmojiBottomSheetDialogFragment.REACTION_STORAGE_KEY).emoji) - canonicalReactionEmoji.toSet() + + val recentDisplayEmoji: List = canonicalRecentReactionEmoji .mapNotNull { canonical -> EmojiSource.latest.canonicalToVariations[canonical] } .map { Emoji(it) } - return EmojiReactionsPageModel(emoji, displayEmoji).toMappingModels() + return EmojiReactionsPageModel(canonicalReactionEmoji + canonicalRecentReactionEmoji, reactionDisplayEmoji + recentDisplayEmoji).toMappingModels() } private fun onEmojiToggleClicked() {