From 88b4227bbc55f9c9238cba273d12e967685aeb53 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 1 Nov 2024 10:18:03 +0100 Subject: [PATCH] Auto close search bar when navigating from list into child details --- .../ui/main/fragment/AbstractMainFragment.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/java/org/linphone/ui/main/fragment/AbstractMainFragment.kt b/app/src/main/java/org/linphone/ui/main/fragment/AbstractMainFragment.kt index cf6d2cf20..25e31dcef 100644 --- a/app/src/main/java/org/linphone/ui/main/fragment/AbstractMainFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/fragment/AbstractMainFragment.kt @@ -33,6 +33,7 @@ import androidx.core.view.doOnPreDraw import androidx.navigation.NavDirections import androidx.navigation.fragment.findNavController import androidx.slidingpanelayout.widget.SlidingPaneLayout +import androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener import com.google.android.material.textfield.TextInputLayout import org.linphone.R import org.linphone.core.tools.Log @@ -225,6 +226,22 @@ abstract class AbstractMainFragment : GenericMainFragment() { if (!slidingPane.isOpen) { Log.d("$TAG Opening sliding pane") + if (slidingPane.isSlideable && viewModel.searchBarVisible.value == true) { + slidingPane.addPanelSlideListener(object : PanelSlideListener { + override fun onPanelSlide( + panel: View, + slideOffset: Float + ) { } + + override fun onPanelOpened(panel: View) { + Log.d("$TAG Closing search bar") + viewModel.closeSearchBar() + slidingPane.removePanelSlideListener(this) + } + + override fun onPanelClosed(panel: View) { } + }) + } slidingPane.openPane() } }