From 188f1c52a9527fe3cc4d44a7cec35bbead047859 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 1 Dec 2025 16:18:05 -0400 Subject: [PATCH] Fix keyboard animation when going back from emoji-search. --- .../securesms/components/InsetAwareConstraintLayout.kt | 5 +++++ .../securesms/conversation/v2/ConversationFragment.kt | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.kt b/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.kt index 5af9f08f38..4e18ba5056 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.kt @@ -231,6 +231,7 @@ open class InsetAwareConstraintLayout @JvmOverloads constructor( interface KeyboardStateListener { fun onKeyboardShown() fun onKeyboardHidden() + fun onKeyboardAnimationEnded() = Unit } interface WindowInsetsListener { @@ -288,6 +289,10 @@ open class InsetAwareConstraintLayout @JvmOverloads constructor( } override fun onEnd(animation: WindowInsetsAnimationCompat) { + keyboardStateListeners.forEach { + it.onKeyboardAnimationEnded() + } + if (overridingKeyboard) { return } 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 d714c22f62..bace444323 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 @@ -4718,12 +4718,16 @@ class ConversationFragment : } override fun onKeyboardHidden() { - closeEmojiSearch() - if (searchMenuItem?.isActionViewExpanded == true && searchMenuItem?.actionView?.hasFocus() == true) { searchMenuItem?.actionView?.clearFocus() } } + + override fun onKeyboardAnimationEnded() { + if (!container.isKeyboardShowing) { + closeEmojiSearch() + } + } } //endregion