Revert "Trying to prevent bottom bar from disappearing sometimes", trying better fix instead

This reverts commit 317a7c4417.
This commit is contained in:
Sylvain Berfini 2025-04-03 09:47:22 +02:00
parent 929efc73e9
commit 526d0fb4c7
5 changed files with 30 additions and 15 deletions

View file

@ -72,6 +72,8 @@ abstract class AbstractMainFragment : GenericMainFragment() {
private var currentFragmentId: Int = 0
private lateinit var navigationBar: View
private lateinit var viewModel: AbstractMainViewModel
private val backPressedCallback = object : OnBackPressedCallback(false) {
@ -201,9 +203,10 @@ abstract class AbstractMainFragment : GenericMainFragment() {
navBar: BottomNavBarBinding,
@IdRes fragmentId: Int
) {
navigationBar = navBar.root
initSlidingPane(slidingPane)
initSearchBar(topBar.search)
initBottomNavBar(navBar.root)
initNavigation(fragmentId)
}
@ -228,6 +231,7 @@ abstract class AbstractMainFragment : GenericMainFragment() {
it.consume {
if (slidingPane.isSlideable) {
Log.d("$TAG Closing sliding pane")
ensureNavigationBarIsVisible()
slidingPane.closePane()
}
}
@ -256,7 +260,9 @@ abstract class AbstractMainFragment : GenericMainFragment() {
slidingPane.removePanelSlideListener(this)
}
override fun onPanelClosed(panel: View) { }
override fun onPanelClosed(panel: View) {
ensureNavigationBarIsVisible()
}
})
}
slidingPane.openPane()
@ -285,15 +291,20 @@ abstract class AbstractMainFragment : GenericMainFragment() {
searchBar.showKeyboard()
} else {
searchBar.hideKeyboard()
ensureNavigationBarIsVisible()
}
}
}
searchBar.setKeyboardInsetListener { keyboardVisible ->
val portraitOrientation = resources.configuration.orientation != Configuration.ORIENTATION_LANDSCAPE
navigationBar.visibility = if (!portraitOrientation || !keyboardVisible) View.VISIBLE else View.GONE
}
}
private fun initBottomNavBar(navBar: View) {
view?.setKeyboardInsetListener { keyboardVisible ->
val portraitOrientation = resources.configuration.orientation != Configuration.ORIENTATION_LANDSCAPE
navBar.visibility = if (!portraitOrientation || !keyboardVisible) View.VISIBLE else View.GONE
private fun ensureNavigationBarIsVisible() {
if (::navigationBar.isInitialized) {
navigationBar.visibility = View.VISIBLE
}
}

View file

@ -58,9 +58,10 @@
android:id="@+id/conversations_list"
android:background="@drawable/shape_squircle_white_r20_top_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/top_bar_height"
android:layout_marginBottom="@dimen/portrait_nav_bar_height" />
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar" />
<ImageView
android:id="@+id/no_conversation_image"

View file

@ -61,13 +61,14 @@
<LinearLayout
android:id="@+id/lists"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/top_bar_height"
android:layout_marginBottom="@dimen/portrait_nav_bar_height"
android:orientation="vertical"
android:background="@drawable/shape_squircle_white_r20_top_background"
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatTextView
style="@style/section_header_style"

View file

@ -68,9 +68,10 @@
android:id="@+id/history_list"
android:background="@drawable/shape_squircle_white_r20_top_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/top_bar_height"
android:layout_marginBottom="@dimen/portrait_nav_bar_height" />
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar" />
<ImageView
android:id="@+id/no_calls_image"

View file

@ -59,9 +59,10 @@
android:id="@+id/meetings_list"
android:layout_width="match_parent"
android:background="@drawable/shape_squircle_white_r20_top_background"
android:layout_height="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/top_bar_height"
android:layout_marginBottom="@dimen/portrait_nav_bar_height" />
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar" />
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/fetch_in_progress"