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

fix(阅读设置): 修正两处 ConfigUpdateAction 错配导致的「改了不生效」

- StatusIconDark: ReloadContent -> UpdateSystemUi。状态栏图标明暗的唯一生效路径是
  upSystemUiVisibility() -> setLightStatusBar(curStatusIconDark())(ReadBookController:318),
  只能由 UpdateSystemUi 到达;原本的 ReloadContent 只是重新加载正文,与状态栏图标无关
  —— 该开关在当前页完全不生效,须退出重进阅读页才看得到变化。
- UnderlineColor: UpdateStyle -> UpdateContent+InvalidateTextPage+SubmitRenderTask,
  对齐兄弟项 Underline/DottedLine。改颜色要重绘已排好的 TextPage,
  readView.upStyle() 不会重画下划线。

两处均为 2026-07-24 排查出、但改动从未提交的遗留(该日到今日之间无任何提交)。
5151561 3 месяцев назад
Родитель
Сommit
52146d5c4e
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      app/src/main/java/io/legado/app/ui/book/read/ReadBookContract.kt

+ 5 - 0
app/src/main/java/io/legado/app/ui/book/read/ReadBookContract.kt

@@ -1344,6 +1344,8 @@ sealed interface ConfigUpdate {
         override val actions = setOf(ConfigUpdateAction.UpdateContent, ConfigUpdateAction.UpdateChapterStyle, ConfigUpdateAction.UpdateLayout)
     }
     data class UnderlineColor(val color: Int) : ConfigUpdate {
+        // 对齐兄弟项 Underline/DottedLine:改颜色要重绘已排好的 TextPage,
+        // 仅 UpdateStyle(readView.upStyle())不会重画下划线。
         override val actions = setOf(ConfigUpdateAction.UpdateContent, ConfigUpdateAction.InvalidateTextPage, ConfigUpdateAction.SubmitRenderTask)
     }
 
@@ -1418,6 +1420,9 @@ sealed interface ConfigUpdate {
         override val actions = setOf(ConfigUpdateAction.UpdateBackgroundAlpha)
     }
     data class StatusIconDark(val value: Boolean) : ConfigUpdate {
+        // 唯一生效路径是 UpdateSystemUi → upSystemUiVisibility() →
+        // setLightStatusBar(curStatusIconDark())(ReadBookController:318)。
+        // 原本的 ReloadContent 只会重新加载正文,与状态栏图标无关。
         override val actions = setOf(ConfigUpdateAction.UpdateSystemUi)
     }
     data class StyleName(val value: String) : ConfigUpdate {