Просмотр исходного кода

fix: 阅读界面切换亮暗色后 View 层立即生效

toggleDayNight() 设置 ThemeConfig.themeMode 后,同步更新
AppConfig.themeMode 缓存变量,避免 View 层通过 ReadStyleResolver
读取时因 SP listener 异步回调而拿到旧值。
HapeLee 5 месяцев назад
Родитель
Сommit
bdc0424073
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt

+ 2 - 0
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(