Adjust how preferred variation is handled for reaction customization.

This commit is contained in:
Cody Henthorne
2022-05-02 13:51:36 -04:00
committed by Greyson Parrelli
parent a4a4665aaa
commit 5ed6a05eb9
4 changed files with 14 additions and 5 deletions

View File

@@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.reactions.edit
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import org.signal.core.util.concurrent.SignalExecutors
import org.thoughtcrime.securesms.components.emoji.EmojiUtil
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.keyvalue.EmojiValues
import org.thoughtcrime.securesms.keyvalue.SignalStore
@@ -26,6 +27,9 @@ class EditReactionsViewModel : ViewModel() {
fun onEmojiSelected(emoji: String) {
store.update { state ->
if (state.selection != NO_SELECTION && state.selection in state.reactions.indices) {
if (emoji != EmojiUtil.getCanonicalRepresentation(emoji)) {
emojiValues.setPreferredVariation(emoji)
}
val preferredEmoji: String = emojiValues.getPreferredVariation(emoji)
val newReactions: List<String> = state.reactions.toMutableList().apply { set(state.selection, preferredEmoji) }
state.copy(reactions = newReactions)