From bdc04240738d9c24ffa35e1ce2d636047106f967 Mon Sep 17 00:00:00 2001 From: HapeLee <63206378+HapeLee@users.noreply.github.com> Date: Mon, 8 Jun 2026 13:10:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=98=85=E8=AF=BB=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E4=BA=AE=E6=9A=97=E8=89=B2=E5=90=8E=20View?= =?UTF-8?q?=20=E5=B1=82=E7=AB=8B=E5=8D=B3=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit toggleDayNight() 设置 ThemeConfig.themeMode 后,同步更新 AppConfig.themeMode 缓存变量,避免 View 层通过 ReadStyleResolver 读取时因 SP listener 异步回调而拿到旧值。 --- .../main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt | 2 ++ 1 file changed, 2 insertions(+) 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 74e4038cb..17131088e 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 @@ -2587,6 +2587,8 @@ class ReadBookViewModel( else -> "0" // dark → follow system } ThemeConfig.themeMode = nextMode + // 同步更新 AppConfig 缓存,确保 View 层 ReadStyleResolver 立即读到新值 + AppConfig.themeMode = nextMode _uiState.update { it.copy(styleConfig = buildStyleConfig()) } _effects.tryEmit(ReadBookEffect.UpdateReadViewConfig( setOf(