mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
Check nav bar visibility when checking to show top bar in reader
This commit is contained in:
parent
1aeb0c03d8
commit
b97b1e59ad
1 changed files with 8 additions and 3 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue