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 android.widget.Toast
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
import androidx.core.view.updateLayoutParams
|
||||||
import androidx.preference.PreferenceDialogController
|
import androidx.preference.PreferenceDialogController
|
||||||
import com.bluelinelabs.conductor.Conductor
|
import com.bluelinelabs.conductor.Conductor
|
||||||
import com.bluelinelabs.conductor.Controller
|
import com.bluelinelabs.conductor.Controller
|
||||||
@ -114,7 +115,10 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
|||||||
bottomNavAnimator = ViewHeightAnimator(binding.bottomNav)
|
bottomNavAnimator = ViewHeightAnimator(binding.bottomNav)
|
||||||
|
|
||||||
// Set behavior of bottom nav
|
// Set behavior of bottom nav
|
||||||
setBottomBarBehaviorOnScroll()
|
preferences.hideBottomBar()
|
||||||
|
.asImmediateFlow { setBottomNavBehaviorOnScroll() }
|
||||||
|
.launchIn(scope)
|
||||||
|
|
||||||
binding.bottomNav.setOnNavigationItemSelectedListener { item ->
|
binding.bottomNav.setOnNavigationItemSelectedListener { item ->
|
||||||
val id = item.itemId
|
val id = item.itemId
|
||||||
|
|
||||||
@ -364,12 +368,6 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
|||||||
!isConfirmingExit
|
!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) {
|
fun setSelectedNavItem(itemId: Int) {
|
||||||
if (!isFinishing) {
|
if (!isFinishing) {
|
||||||
binding.bottomNav.selectedItemId = itemId
|
binding.bottomNav.selectedItemId = itemId
|
||||||
@ -399,7 +397,6 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
|
|||||||
if (to is RootController) {
|
if (to is RootController) {
|
||||||
// Always show bottom nav again when returning to a RootController
|
// Always show bottom nav again when returning to a RootController
|
||||||
showBottomNav(visible = true, collapse = from !is RootController)
|
showBottomNav(visible = true, collapse = from !is RootController)
|
||||||
setBottomBarBehaviorOnScroll()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (from is TabbedController) {
|
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 {
|
companion object {
|
||||||
// Shortcut actions
|
// Shortcut actions
|
||||||
const val SHORTCUT_LIBRARY = "eu.kanade.tachiyomi.SHOW_LIBRARY"
|
const val SHORTCUT_LIBRARY = "eu.kanade.tachiyomi.SHOW_LIBRARY"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user