From 88dd01e0be8413b9b5b6ca868784ec568ddfa585 Mon Sep 17 00:00:00 2001 From: HapeLee <63206378+HapeLee@users.noreply.github.com> Date: Tue, 9 Jun 2026 13:07:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=98=85=E8=AF=BB=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=B1=8F=E5=B9=95=E6=96=B9=E5=90=91=E8=AE=BE=E7=BD=AE=E6=97=A0?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/ui/book/read/ReadBookContract.kt | 1 + .../java/io/legado/app/ui/book/read/ReadBookController.kt | 5 +++++ .../java/io/legado/app/ui/book/read/ReadBookViewModel.kt | 3 +++ 3 files changed, 9 insertions(+) diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookContract.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookContract.kt index 445e3a5a0..a9b19830e 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookContract.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookContract.kt @@ -573,6 +573,7 @@ sealed interface ReadBookEffect { data object UnregisterTimeBatteryReceiver : ReadBookEffect data object RegisterNetworkListener : ReadBookEffect data object UnregisterNetworkListener : ReadBookEffect + data object SetOrientation : ReadBookEffect data object OpenBooksDirPicker : ReadBookEffect data object BackupNow : ReadBookEffect 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 02ec69b8d..8e86d6218 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 @@ -176,6 +176,7 @@ class ReadBookController( * View/Window-only resume — business logic handled by ViewModel via OnResume intent. */ fun onResume() { + setOrientation() upSystemUiVisibility() refs?.readView?.upTime() screenOffTimerStart() @@ -742,6 +743,10 @@ class ReadBookController( networkChangedListener.unRegister() } + is ReadBookEffect.SetOrientation -> { + setOrientation() + } + is ReadBookEffect.BackupNow -> { Backup.autoBack(activity) } diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt index b4d650e6e..f624f3a3c 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt @@ -1285,6 +1285,9 @@ class ReadBookViewModel( if (old != null && old.keepLight != preferences.keepLight) { _effects.tryEmit(ReadBookEffect.UpScreenTimeOut) } + if (old != null && old.screenOrientation != preferences.screenOrientation) { + _effects.tryEmit(ReadBookEffect.SetOrientation) + } } } }