diff --git a/app/src/main/java/io/legado/app/utils/ActivityExtensions.kt b/app/src/main/java/io/legado/app/utils/ActivityExtensions.kt index cb43c3549..23e099a0d 100644 --- a/app/src/main/java/io/legado/app/utils/ActivityExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/ActivityExtensions.kt @@ -3,6 +3,7 @@ package io.legado.app.utils import android.annotation.SuppressLint import android.app.Activity import android.graphics.Color +import android.graphics.Insets import android.os.Build import android.os.Bundle import android.util.DisplayMetrics @@ -32,8 +33,11 @@ val WindowManager.windowSize: DisplayMetrics val displayMetrics = DisplayMetrics() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { val windowMetrics: WindowMetrics = currentWindowMetrics - val insets = windowMetrics.windowInsets - .getInsetsIgnoringVisibility(WindowInsets.Type.systemBars() or WindowInsets.Type.displayCutout()) + val systemBarsInsets = windowMetrics.windowInsets + .getInsetsIgnoringVisibility(WindowInsets.Type.systemBars()) + val waterfallInsets = windowMetrics.windowInsets.displayCutout?.waterfallInsets + ?: Insets.NONE + val insets = Insets.max(systemBarsInsets, waterfallInsets) val windowWidth = windowMetrics.bounds.width() val windowHeight = windowMetrics.bounds.height() var insetsWidth = insets.left + insets.right