Check nav bar visibility when checking to show top bar in reader

This commit is contained in:
Jays2Kings 2021-10-15 19:37:16 -04:00
parent 1aeb0c03d8
commit b97b1e59ad

View file

@ -25,10 +25,12 @@ import android.view.animation.Animation
import android.view.animation.AnimationUtils
import androidx.core.content.ContextCompat
import androidx.core.graphics.ColorUtils
import androidx.core.graphics.Insets
import androidx.core.view.GestureDetectorCompat
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsCompat.Type.navigationBars
import androidx.core.view.WindowInsetsCompat.Type.statusBars
import androidx.core.view.WindowInsetsCompat.Type.systemBars
import androidx.core.view.WindowInsetsControllerCompat
@ -759,12 +761,15 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
var firstPass = true
binding.readerLayout.doOnApplyWindowInsetsCompat { _, insets, _ ->
setNavColor(insets)
val hasNav = insets.getInsetsIgnoringVisibility(navigationBars()) == Insets.NONE
val navVis = if (hasNav) insets.isVisible(navigationBars()) else true
val vis = insets.isVisible(statusBars()) && navVis
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!firstPass && lastVis != insets.isVisible(statusBars()) && preferences.fullscreen().get()) {
onVisibilityChange(insets.isVisible(statusBars()))
if (!firstPass && lastVis != vis && preferences.fullscreen().get()) {
onVisibilityChange(vis)
}
firstPass = false
lastVis = insets.isVisible(statusBars())
lastVis = vis
}
if (!preferences.fullscreen().get() && sheetManageNavColor) {