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() }, )