|
@@ -5,14 +5,13 @@ import android.app.DatePickerDialog
|
|
|
import android.content.pm.ActivityInfo
|
|
import android.content.pm.ActivityInfo
|
|
|
import android.os.Build
|
|
import android.os.Build
|
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
|
-import android.view.Gravity
|
|
|
|
|
import android.view.KeyEvent
|
|
import android.view.KeyEvent
|
|
|
import android.view.View
|
|
import android.view.View
|
|
|
-import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
|
|
|
|
import android.view.WindowInsets
|
|
import android.view.WindowInsets
|
|
|
import android.view.WindowManager
|
|
import android.view.WindowManager
|
|
|
-import android.widget.FrameLayout
|
|
|
|
|
import androidx.activity.viewModels
|
|
import androidx.activity.viewModels
|
|
|
|
|
+import androidx.core.view.ViewCompat
|
|
|
|
|
+import androidx.core.view.WindowInsetsCompat
|
|
|
import androidx.core.view.isVisible
|
|
import androidx.core.view.isVisible
|
|
|
import io.legado.app.R
|
|
import io.legado.app.R
|
|
|
import io.legado.app.base.VMBaseActivity
|
|
import io.legado.app.base.VMBaseActivity
|
|
@@ -43,8 +42,6 @@ import io.legado.app.utils.find
|
|
|
import io.legado.app.utils.getPrefString
|
|
import io.legado.app.utils.getPrefString
|
|
|
import io.legado.app.utils.gone
|
|
import io.legado.app.utils.gone
|
|
|
import io.legado.app.utils.isTv
|
|
import io.legado.app.utils.isTv
|
|
|
-import io.legado.app.utils.navigationBarGravity
|
|
|
|
|
-import io.legado.app.utils.navigationBarHeight
|
|
|
|
|
import io.legado.app.utils.setLightStatusBar
|
|
import io.legado.app.utils.setLightStatusBar
|
|
|
import io.legado.app.utils.setNavigationBarColorAuto
|
|
import io.legado.app.utils.setNavigationBarColorAuto
|
|
|
import io.legado.app.utils.showDialogFragment
|
|
import io.legado.app.utils.showDialogFragment
|
|
@@ -86,6 +83,13 @@ abstract class BaseReadBookActivity :
|
|
|
setOrientation()
|
|
setOrientation()
|
|
|
upLayoutInDisplayCutoutMode()
|
|
upLayoutInDisplayCutoutMode()
|
|
|
super.onCreate(savedInstanceState)
|
|
super.onCreate(savedInstanceState)
|
|
|
|
|
+ ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, windowInsets ->
|
|
|
|
|
+ val insets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
|
|
|
|
+ binding.navigationBar.run {
|
|
|
|
|
+ layoutParams = layoutParams.apply { height = insets.bottom }
|
|
|
|
|
+ }
|
|
|
|
|
+ windowInsets
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
|
@@ -213,7 +217,7 @@ abstract class BaseReadBookActivity :
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun upNavigationBarColor() {
|
|
override fun upNavigationBarColor() {
|
|
|
-// upNavigationBar()
|
|
|
|
|
|
|
+ upNavigationBar()
|
|
|
when {
|
|
when {
|
|
|
binding.readMenu.isVisible -> super.upNavigationBarColor()
|
|
binding.readMenu.isVisible -> super.upNavigationBarColor()
|
|
|
bottomDialog > 0 -> super.upNavigationBarColor()
|
|
bottomDialog > 0 -> super.upNavigationBarColor()
|
|
@@ -226,30 +230,30 @@ abstract class BaseReadBookActivity :
|
|
|
private fun upNavigationBar() {
|
|
private fun upNavigationBar() {
|
|
|
binding.navigationBar.run {
|
|
binding.navigationBar.run {
|
|
|
if (bottomDialog > 0 || binding.readMenu.isVisible) {
|
|
if (bottomDialog > 0 || binding.readMenu.isVisible) {
|
|
|
- val navigationBarHeight =
|
|
|
|
|
- if (ReadBookConfig.hideNavigationBar) navigationBarHeight else 0
|
|
|
|
|
- when (navigationBarGravity) {
|
|
|
|
|
- Gravity.BOTTOM -> layoutParams =
|
|
|
|
|
- (layoutParams as FrameLayout.LayoutParams).apply {
|
|
|
|
|
- height = navigationBarHeight
|
|
|
|
|
- width = MATCH_PARENT
|
|
|
|
|
- gravity = Gravity.BOTTOM
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- Gravity.LEFT -> layoutParams =
|
|
|
|
|
- (layoutParams as FrameLayout.LayoutParams).apply {
|
|
|
|
|
- height = MATCH_PARENT
|
|
|
|
|
- width = navigationBarHeight
|
|
|
|
|
- gravity = Gravity.LEFT
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- Gravity.RIGHT -> layoutParams =
|
|
|
|
|
- (layoutParams as FrameLayout.LayoutParams).apply {
|
|
|
|
|
- height = MATCH_PARENT
|
|
|
|
|
- width = navigationBarHeight
|
|
|
|
|
- gravity = Gravity.RIGHT
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// val navigationBarHeight =
|
|
|
|
|
+// if (ReadBookConfig.hideNavigationBar) navigationBarHeight else 0
|
|
|
|
|
+// when (navigationBarGravity) {
|
|
|
|
|
+// Gravity.BOTTOM -> layoutParams =
|
|
|
|
|
+// (layoutParams as FrameLayout.LayoutParams).apply {
|
|
|
|
|
+// height = navigationBarHeight
|
|
|
|
|
+// width = MATCH_PARENT
|
|
|
|
|
+// gravity = Gravity.BOTTOM
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// Gravity.LEFT -> layoutParams =
|
|
|
|
|
+// (layoutParams as FrameLayout.LayoutParams).apply {
|
|
|
|
|
+// height = MATCH_PARENT
|
|
|
|
|
+// width = navigationBarHeight
|
|
|
|
|
+// gravity = Gravity.LEFT
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// Gravity.RIGHT -> layoutParams =
|
|
|
|
|
+// (layoutParams as FrameLayout.LayoutParams).apply {
|
|
|
|
|
+// height = MATCH_PARENT
|
|
|
|
|
+// width = navigationBarHeight
|
|
|
|
|
+// gravity = Gravity.RIGHT
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
visible()
|
|
visible()
|
|
|
} else {
|
|
} else {
|
|
|
gone()
|
|
gone()
|