From 33f9369883d40d2396b907d73f41462ecfe30568 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 15 Oct 2025 10:03:53 -0300 Subject: [PATCH] Fix inline search display on landscape orientations. --- .../ui/inlinequery/InlineQueryResultsControllerV2.kt | 11 ++++++----- .../securesms/conversation/v2/ConversationFragment.kt | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryResultsControllerV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryResultsControllerV2.kt index 207986378e..7068811feb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryResultsControllerV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryResultsControllerV2.kt @@ -15,6 +15,7 @@ import org.thoughtcrime.securesms.components.ComposeText import org.thoughtcrime.securesms.conversation.ui.mentions.MentionsPickerFragmentV2 import org.thoughtcrime.securesms.util.adapter.mapping.AnyMappingModel import org.thoughtcrime.securesms.util.doOnEachLayout +import org.thoughtcrime.securesms.window.WindowSizeClass /** * Controller for inline search results. @@ -36,7 +37,7 @@ class InlineQueryResultsControllerV2( private var mentionFragment: MentionsPickerFragmentV2? = null private var previousResults: InlineQueryViewModelV2.Results? = null private var canShow: Boolean = false - private var isLandscape: Boolean = false + private var shouldHideForWindowSizeClass: Boolean = false init { lifecycleDisposable.bindTo(parentFragment.viewLifecycleOwner) @@ -69,10 +70,10 @@ class InlineQueryResultsControllerV2( emojiPopup = null } - fun onOrientationChange(isLandscape: Boolean) { - this.isLandscape = isLandscape + fun onWindowSizeClassChanged(windowSizeClass: WindowSizeClass) { + this.shouldHideForWindowSizeClass = windowSizeClass == WindowSizeClass.COMPACT_LANDSCAPE - if (isLandscape) { + if (shouldHideForWindowSizeClass) { dismiss() } else { updateList(previousResults ?: InlineQueryViewModelV2.None) @@ -81,7 +82,7 @@ class InlineQueryResultsControllerV2( private fun updateList(results: InlineQueryViewModelV2.Results) { previousResults = results - if (results is InlineQueryViewModelV2.None || !canShow || isLandscape) { + if (results is InlineQueryViewModelV2.None || !canShow || shouldHideForWindowSizeClass) { dismiss() } else if (results is InlineQueryViewModelV2.EmojiResults) { showEmojiPopup(results) 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 7ffbfc384a..4b7df20a60 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 @@ -747,7 +747,7 @@ class ConversationFragment : override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) ToolbarDependentMarginListener(binding.toolbar) - inlineQueryController.onOrientationChange(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) + inlineQueryController.onWindowSizeClassChanged(resources.getWindowSizeClass()) } override fun onDestroyView() { @@ -1218,7 +1218,7 @@ class ConversationFragment : } private fun initializeInlineSearch() { - inlineQueryController.onOrientationChange(resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) + inlineQueryController.onWindowSizeClassChanged(resources.getWindowSizeClass()) composeText.apply { setInlineQueryChangedListener(object : InlineQueryChangedListener {