diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryViewModel.kt index 5b1d3eecb0..ca16dcb827 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryViewModel.kt @@ -4,9 +4,11 @@ import androidx.lifecycle.ViewModel import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.schedulers.Schedulers import io.reactivex.rxjava3.subjects.PublishSubject +import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel import org.thoughtcrime.securesms.dependencies.ApplicationDependencies import org.thoughtcrime.securesms.keyboard.emoji.search.EmojiSearchRepository import org.thoughtcrime.securesms.keyvalue.SignalStore +import org.thoughtcrime.securesms.util.TextSecurePreferences import org.thoughtcrime.securesms.util.adapter.mapping.AnyMappingModel /** @@ -14,7 +16,10 @@ import org.thoughtcrime.securesms.util.adapter.mapping.AnyMappingModel * be shared between the fragment requesting the search and the instace of [InlineQueryResultsFragment] used for displaying * the results. */ -class InlineQueryViewModel(private val emojiSearchRepository: EmojiSearchRepository = EmojiSearchRepository(ApplicationDependencies.getApplication())) : ViewModel() { +class InlineQueryViewModel( + private val emojiSearchRepository: EmojiSearchRepository = EmojiSearchRepository(ApplicationDependencies.getApplication()), + private val recentEmojis: RecentEmojiPageModel = RecentEmojiPageModel(ApplicationDependencies.getApplication(), TextSecurePreferences.RECENT_STORAGE_KEY) +) : ViewModel() { private val querySubject: PublishSubject = PublishSubject.create() private val selectionSubject: PublishSubject = PublishSubject.create() @@ -46,6 +51,7 @@ class InlineQueryViewModel(private val emojiSearchRepository: EmojiSearchReposit fun onSelection(model: AnyMappingModel) { when (model) { is InlineQueryEmojiResult.Model -> { + recentEmojis.onCodePointSelected(model.preferredEmoji) selectionSubject.onNext(InlineQueryReplacement.Emoji(model.preferredEmoji, model.keywordSearch)) } }