From 16b4b3b6b754ce5c85d2810085d2471ac31d12ee Mon Sep 17 00:00:00 2001 From: Sagar <85388413+Sagar0-0@users.noreply.github.com> Date: Wed, 16 Apr 2025 06:16:17 +0530 Subject: [PATCH] Fix SearchView loosing focus. --- .../securesms/components/InsetAwareConstraintLayout.kt | 1 + .../securesms/conversation/v2/ConversationFragment.kt | 8 ++++++-- 2 files changed, 7 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 b004014a0e..af26782fb4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/InsetAwareConstraintLayout.kt @@ -194,6 +194,7 @@ open class InsetAwareConstraintLayout @JvmOverloads constructor( protected fun resetKeyboardGuideline() { clearKeyboardGuidelineOverride() keyboardGuideline?.setGuidelineEnd(navigationBarGuideline.guidelineEnd) + keyboardAnimator.endingGuidelineEnd = navigationBarGuideline.guidelineEnd } private fun getKeyboardHeight(): Int { 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 2ddc4dc59c..dfd8c738e3 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 @@ -3275,7 +3275,7 @@ class ConversationFragment : multiselectItemDecoration.hideShade(binding.conversationItemRecycler) ViewUtil.fadeOut(binding.reactionsShade, resources.getInteger(R.integer.reaction_scrubber_hide_duration), View.GONE) - if (focusedView == composeText) { + if (focusedView == composeText || searchMenuItem?.isActionViewExpanded == true) { container.showSoftkey(composeText) } } @@ -4349,7 +4349,11 @@ class ConversationFragment : isEnabled = false } - override fun onKeyboardShown() = Unit + override fun onKeyboardShown() { + if (searchMenuItem?.isActionViewExpanded == true && searchMenuItem?.actionView?.hasFocus() == false) { + searchMenuItem?.actionView?.requestFocus() + } + } override fun onKeyboardHidden() { closeEmojiSearch()