diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index db92f3a8f5..f204382a36 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -2104,6 +2104,7 @@ class ConversationFragment : val keyboardMode: TextSecurePreferences.MediaKeyboardMode = TextSecurePreferences.getMediaKeyboardMode(requireContext()) val stickerIntro: Boolean = !TextSecurePreferences.hasSeenStickerIntroTooltip(requireContext()) + keyboardPagerViewModel.resetPages() inputPanel.showMediaKeyboardToggle(true) val keyboardPage = when (keyboardMode) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPagerViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPagerViewModel.kt index 4c68a20537..6911cb8d46 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPagerViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPagerViewModel.kt @@ -23,6 +23,22 @@ class KeyboardPagerViewModel : ViewModel() { pages = DefaultValueLiveData(startingPages) page = DefaultValueLiveData(startingPages.first()) + checkStickerAvailability() + } + + fun resetPages() { + val defaultPages: MutableSet = KeyboardPage.entries.toMutableSet() + + if (!RemoteConfig.gifSearchAvailable) { + defaultPages.remove(KeyboardPage.GIF) + } + + pages.value = defaultPages + + checkStickerAvailability() + } + + private fun checkStickerAvailability() { StickerSearchRepository().getStickerFeatureAvailability { available -> if (!available) { val updatedPages = pages.value.toMutableSet().apply { remove(KeyboardPage.STICKER) }