From 19540743ed0044c1138c4b07f6e51092aa93d368 Mon Sep 17 00:00:00 2001 From: fansan Date: Thu, 18 Jun 2026 18:25:49 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E5=88=87=E6=8D=A2=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E3=80=90=E7=BF=BB=E9=A1=B5=E5=8A=A8=E7=94=BB=E3=80=91?= =?UTF-8?q?=E6=9C=AA=E8=B7=9F=E9=9A=8F=E6=96=B0=E4=B8=BB=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E4=BB=8D=E4=BF=9D=E7=95=99=E4=B8=8A=E4=B8=AA=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E7=9A=84=E6=95=88=E6=9E=9C=20#1491?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/read/ReadBookContract.kt | 22 ++++++++++++++++--- .../app/ui/book/read/ReadBookController.kt | 1 + .../app/ui/book/read/ReadBookViewModel.kt | 17 +++++++++++--- .../app/ui/book/read/sheet/GlobalThemePage.kt | 1 - 4 files changed, 34 insertions(+), 7 deletions(-) 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 d46fd57d7..4bb33eed4 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 @@ -713,6 +713,7 @@ sealed interface ConfigUpdateAction { data object InvalidateTextPage : ConfigUpdateAction data object UpdateLayout : ConfigUpdateAction data object SubmitRenderTask : ConfigUpdateAction + data object UpdatePageAnim : ConfigUpdateAction } /** @@ -836,13 +837,28 @@ sealed interface ConfigUpdate { // --- Layout / style --- data class StyleSelect(val index: Int) : ConfigUpdate { - override val actions = setOf(ConfigUpdateAction.UpdateBackground, ConfigUpdateAction.UpdateStyle, ConfigUpdateAction.ReloadContent, ConfigUpdateAction.UpdateSystemUi) + override val actions = setOf( + ConfigUpdateAction.UpdateBackground, + ConfigUpdateAction.UpdateStyle, + ConfigUpdateAction.ReloadContent, + ConfigUpdateAction.UpdateSystemUi, + ConfigUpdateAction.UpdatePageAnim + ) } data class ShareLayout(val value: Boolean) : ConfigUpdate { - override val actions = setOf(ConfigUpdateAction.UpdateBackground, ConfigUpdateAction.UpdateStyle, ConfigUpdateAction.ReloadContent) + override val actions = setOf( + ConfigUpdateAction.UpdateBackground, + ConfigUpdateAction.UpdateStyle, + ConfigUpdateAction.ReloadContent, + ConfigUpdateAction.UpdatePageAnim + ) } data class PageAnim(val value: Int) : ConfigUpdate { - override val actions = setOf(ConfigUpdateAction.UpdateBackground) + override val actions = setOf( + ConfigUpdateAction.UpdateBackground, + ConfigUpdateAction.UpdatePageAnim, + ConfigUpdateAction.ReloadContent + ) } // --- Menu colors --- 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 4f91d79a3..3e0381b48 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 @@ -600,6 +600,7 @@ class ReadBookController( ConfigUpdateAction.InvalidateTextPage -> r.readView.invalidateTextPage() ConfigUpdateAction.UpdateLayout -> ChapterProvider.upLayout() ConfigUpdateAction.SubmitRenderTask -> r.readView.submitRenderTask() + ConfigUpdateAction.UpdatePageAnim -> r.readView.upPageAnim() } } } 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 167e0bd51..df0f70e98 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 @@ -988,7 +988,12 @@ class ReadBookViewModel( ) } _effects.tryEmit(ReadBookEffect.UpdateReadViewConfig( - setOf(ConfigUpdateAction.UpdateBackground, ConfigUpdateAction.UpdateStyle, ConfigUpdateAction.ReloadContent) + setOf( + ConfigUpdateAction.UpdateBackground, + ConfigUpdateAction.UpdateStyle, + ConfigUpdateAction.ReloadContent, + ConfigUpdateAction.UpdatePageAnim + ) )) } } @@ -1007,7 +1012,8 @@ class ReadBookViewModel( ConfigUpdateAction.UpdateBackgroundAlpha, ConfigUpdateAction.UpdateStyle, ConfigUpdateAction.UpdateSystemUi, - ConfigUpdateAction.ReloadContent + ConfigUpdateAction.ReloadContent, + ConfigUpdateAction.UpdatePageAnim ) ) ) @@ -3429,7 +3435,12 @@ class ReadBookViewModel( readBookStyleConfigRepository.importCurrentStyle(bytes) _uiState.update { it.copy(styleConfig = buildStyleConfig()) } _effects.tryEmit(ReadBookEffect.UpdateReadViewConfig( - setOf(ConfigUpdateAction.UpdateBackground, ConfigUpdateAction.UpdateStyle, ConfigUpdateAction.ReloadContent) + setOf( + ConfigUpdateAction.UpdateBackground, + ConfigUpdateAction.UpdateStyle, + ConfigUpdateAction.ReloadContent, + ConfigUpdateAction.UpdatePageAnim + ) )) context.getString(R.string.success) }.onSuccess { message -> diff --git a/app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt b/app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt index 3b709326b..8f2e4c0a0 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt @@ -341,7 +341,6 @@ fun GlobalThemePage( onClick = { ReadBook.book?.setPageAnim(-1) onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.PageAnim(index))) - onIntent(ReadBookIntent.PageAnimChanged) dismiss() }, )