Clean up bottom nav bar scrolling behavior toggling
(cherry picked from commit caeab0a63b41cad0fe500be5bb022569095aaf1e) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
This commit is contained in:
parent
59020deb6f
commit
703263246e
@ -10,6 +10,7 @@ import android.view.ViewGroup
|
||||
import android.widget.Toast
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.preference.PreferenceDialogController
|
||||
import com.bluelinelabs.conductor.Conductor
|
||||
import com.bluelinelabs.conductor.Controller
|
||||
@ -114,7 +115,10 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
||||
bottomNavAnimator = ViewHeightAnimator(binding.bottomNav)
|
||||
|
||||
// Set behavior of bottom nav
|
||||
setBottomBarBehaviorOnScroll()
|
||||
preferences.hideBottomBar()
|
||||
.asImmediateFlow { setBottomNavBehaviorOnScroll() }
|
||||
.launchIn(scope)
|
||||
|
||||
binding.bottomNav.setOnNavigationItemSelectedListener { item ->
|
||||
val id = item.itemId
|
||||
|
||||
@ -364,12 +368,6 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
||||
!isConfirmingExit
|
||||
}
|
||||
|
||||
private fun setBottomBarBehaviorOnScroll() {
|
||||
val layoutParams = binding.bottomNav.layoutParams as CoordinatorLayout.LayoutParams
|
||||
layoutParams.behavior =
|
||||
if (preferences.hideBottomBar().get()) HideBottomViewOnScrollBehavior<View>() else null
|
||||
}
|
||||
|
||||
fun setSelectedNavItem(itemId: Int) {
|
||||
if (!isFinishing) {
|
||||
binding.bottomNav.selectedItemId = itemId
|
||||
@ -399,7 +397,6 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
||||
if (to is RootController) {
|
||||
// Always show bottom nav again when returning to a RootController
|
||||
showBottomNav(visible = true, collapse = from !is RootController)
|
||||
setBottomBarBehaviorOnScroll()
|
||||
}
|
||||
|
||||
if (from is TabbedController) {
|
||||
@ -453,6 +450,17 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun setBottomNavBehaviorOnScroll() {
|
||||
showBottomNav(visible = true)
|
||||
|
||||
binding.bottomNav.updateLayoutParams<CoordinatorLayout.LayoutParams> {
|
||||
behavior = when {
|
||||
preferences.hideBottomBar().get() -> HideBottomViewOnScrollBehavior<View>()
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
// Shortcut actions
|
||||
const val SHORTCUT_LIBRARY = "eu.kanade.tachiyomi.SHOW_LIBRARY"
|
||||
|
Loading…
x
Reference in New Issue
Block a user