diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index a64502c29c..74fa91bcfa 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -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() { 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) {