From 1a0599efe1d1b2b4fe1de578f207e106fea5ebd5 Mon Sep 17 00:00:00 2001 From: HapeLee <63206378+HapeLee@users.noreply.github.com> Date: Thu, 11 Jun 2026 01:34:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=98=85=E8=AF=BB=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E7=94=B5=E9=87=8F=E6=98=BE=E7=A4=BA=E5=A7=8B=E7=BB=88=E4=B8=BA?= =?UTF-8?q?100%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 电量更新依赖 ACTION_BATTERY_CHANGED 粘性广播通过 LiveEventBus 的 observeForever 传递初始值,在某些 Android 版本上不可靠。 修复:在 onRefsReady() 和 onResume() 中通过 Context.sysBattery 直接查询系统电量,确保阅读界面打开和恢复时立即显示正确电量。 --- .../java/io/legado/app/ui/book/read/ReadBookController.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookController.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookController.kt index 384e56523..20b1bdf82 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookController.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookController.kt @@ -54,6 +54,7 @@ import io.legado.app.utils.longToastOnUi import io.legado.app.utils.navigationBarGravity import io.legado.app.utils.setLightStatusBar import io.legado.app.utils.setOnApplyWindowInsetsListenerCompat +import io.legado.app.utils.sysBattery import io.legado.app.utils.sysScreenOffTime import io.legado.app.utils.throttle import io.legado.app.utils.toastOnUi @@ -164,6 +165,7 @@ class ReadBookController( } } newRefs.readView.upTime() + newRefs.readView.upBattery(activity.sysBattery) } fun onRouteInitialized() { @@ -177,6 +179,7 @@ class ReadBookController( setOrientation() upSystemUiVisibility() refs?.readView?.upTime() + refs?.readView?.upBattery(activity.sysBattery) screenOffTimerStart() } @@ -1060,6 +1063,7 @@ class ReadBookController( "2" -> activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE "3" -> activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR "4" -> activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT + "5" -> activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE } } }