diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsViewModel.kt index d08a891081..aad73e12f4 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsViewModel.kt @@ -43,6 +43,7 @@ import im.vector.riotx.features.home.room.detail.timeline.item.MessageInformatio import im.vector.riotx.features.html.EventHtmlRenderer import im.vector.riotx.features.html.VectorHtmlCompressor import im.vector.riotx.features.settings.VectorPreferences +import im.vector.riotx.features.reactions.data.EmojiDataSource import java.text.SimpleDateFormat import java.util.* @@ -101,9 +102,6 @@ class MessageActionsViewModel @AssistedInject constructor(@Assisted } companion object : MvRxViewModelFactory { - - val quickEmojis = listOf("πŸ‘", "πŸ‘Ž", "πŸ˜„", "πŸŽ‰", "πŸ˜•", "❀️", "πŸš€", "πŸ‘€") - @JvmStatic override fun create(viewModelContext: ViewModelContext, state: MessageActionState): MessageActionsViewModel? { val fragment: MessageActionsBottomSheet = (viewModelContext as FragmentViewModelContext).fragment() @@ -161,7 +159,7 @@ class MessageActionsViewModel @AssistedInject constructor(@Assisted RxRoom(room) .liveAnnotationSummary(eventId) .map { annotations -> - quickEmojis.map { emoji -> + EmojiDataSource.quickEmojis.map { emoji -> ToggleState(emoji, annotations.getOrNull()?.reactionsSummary?.firstOrNull { it.key == emoji }?.addedByMe ?: false) } } diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/data/EmojiDataSource.kt b/vector/src/main/java/im/vector/riotx/features/reactions/data/EmojiDataSource.kt index 8a279a7d4d..9317c645c4 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/data/EmojiDataSource.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/data/EmojiDataSource.kt @@ -34,6 +34,8 @@ class EmojiDataSource @Inject constructor( } ?: EmojiData(emptyList(), emptyMap(), emptyMap()) + private val quickReactions = mutableListOf() + fun filterWith(query: String): List { val words = query.split("\\s".toRegex()) @@ -56,15 +58,24 @@ class EmojiDataSource @Inject constructor( } fun getQuickReactions(): List { - return listOf( - "+1", // πŸ‘ - "-1", // πŸ‘Ž - "grinning", // πŸ˜„ - "tada", // πŸŽ‰ - "confused", // πŸ˜• - "heart", // ❀️ - "rocket", // πŸš€ - "eyes" // πŸ‘€ - ).mapNotNull { rawData.emojis[it] } + if (quickReactions.isEmpty()) { + listOf( + "+1", // πŸ‘ + "-1", // πŸ‘Ž + "grinning", // πŸ˜„ + "tada", // πŸŽ‰ + "confused", // πŸ˜• + "heart", // ❀️ + "rocket", // πŸš€ + "eyes" // πŸ‘€ + ) + .mapNotNullTo(quickReactions) { rawData.emojis[it] } + } + + return quickReactions + } + + companion object { + val quickEmojis = listOf("πŸ‘", "πŸ‘Ž", "πŸ˜„", "πŸŽ‰", "πŸ˜•", "❀️", "πŸš€", "πŸ‘€") } } diff --git a/vector/src/main/res/layout/item_autocomplete_emoji.xml b/vector/src/main/res/layout/item_autocomplete_emoji.xml index 650a405f34..c34ab0d452 100644 --- a/vector/src/main/res/layout/item_autocomplete_emoji.xml +++ b/vector/src/main/res/layout/item_autocomplete_emoji.xml @@ -53,4 +53,4 @@ - \ No newline at end of file + diff --git a/vector/src/main/res/values/strings_riotX.xml b/vector/src/main/res/values/strings_riotX.xml index 317511b921..3e8485ebcc 100644 --- a/vector/src/main/res/values/strings_riotX.xml +++ b/vector/src/main/res/values/strings_riotX.xml @@ -18,6 +18,6 @@ Current device Other devices - Limited results, please type more letters… + Showing only the first results, type more letters…