From da9dcc794f4de8b3cdeadb2be247c3f51948bf06 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 6 Oct 2022 10:57:22 -0300 Subject: [PATCH] Close search if open on back pressed in stories landing page. --- .../stories/landing/StoriesLandingFragment.kt | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingFragment.kt index 6f988c9030..577c144bd7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingFragment.kt @@ -167,7 +167,9 @@ class StoriesLandingFragment : DSLSettingsFragment(layoutId = R.layout.stories_l viewLifecycleOwner, object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { - tabsViewModel.onChatsSelected() + if (!closeSearchIfOpen()) { + tabsViewModel.onChatsSelected() + } } } ) @@ -350,4 +352,25 @@ class StoriesLandingFragment : DSLSettingsFragment(layoutId = R.layout.stories_l viewModel.isTransitioningToAnotherScreen = true startActivity(intent, options) } + + private fun isSearchOpen(): Boolean { + return isSearchVisible() + } + + private fun isSearchVisible(): Boolean { + return requreSearchBinder().getSearchToolbar().resolved() && requreSearchBinder().getSearchToolbar().get().getVisibility() == View.VISIBLE + } + + private fun closeSearchIfOpen(): Boolean { + if (isSearchOpen()) { + requreSearchBinder().getSearchToolbar().get().collapse() + requreSearchBinder().onSearchClosed() + return true + } + return false + } + + private fun requreSearchBinder(): SearchBinder { + return requireListener() + } }