Merge pull request #1495 from fansangg/fix/layout-page-anim-switch
fix:切换主题【翻页动画】未跟随新主题,仍保留上个主题的效果 #1491
This commit is contained in:
@@ -713,6 +713,7 @@ sealed interface ConfigUpdateAction {
|
|||||||
data object InvalidateTextPage : ConfigUpdateAction
|
data object InvalidateTextPage : ConfigUpdateAction
|
||||||
data object UpdateLayout : ConfigUpdateAction
|
data object UpdateLayout : ConfigUpdateAction
|
||||||
data object SubmitRenderTask : ConfigUpdateAction
|
data object SubmitRenderTask : ConfigUpdateAction
|
||||||
|
data object UpdatePageAnim : ConfigUpdateAction
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -836,13 +837,28 @@ sealed interface ConfigUpdate {
|
|||||||
|
|
||||||
// --- Layout / style ---
|
// --- Layout / style ---
|
||||||
data class StyleSelect(val index: Int) : ConfigUpdate {
|
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 {
|
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 {
|
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 ---
|
// --- Menu colors ---
|
||||||
|
|||||||
@@ -600,6 +600,7 @@ class ReadBookController(
|
|||||||
ConfigUpdateAction.InvalidateTextPage -> r.readView.invalidateTextPage()
|
ConfigUpdateAction.InvalidateTextPage -> r.readView.invalidateTextPage()
|
||||||
ConfigUpdateAction.UpdateLayout -> ChapterProvider.upLayout()
|
ConfigUpdateAction.UpdateLayout -> ChapterProvider.upLayout()
|
||||||
ConfigUpdateAction.SubmitRenderTask -> r.readView.submitRenderTask()
|
ConfigUpdateAction.SubmitRenderTask -> r.readView.submitRenderTask()
|
||||||
|
ConfigUpdateAction.UpdatePageAnim -> r.readView.upPageAnim()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -988,7 +988,12 @@ class ReadBookViewModel(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
_effects.tryEmit(ReadBookEffect.UpdateReadViewConfig(
|
_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.UpdateBackgroundAlpha,
|
||||||
ConfigUpdateAction.UpdateStyle,
|
ConfigUpdateAction.UpdateStyle,
|
||||||
ConfigUpdateAction.UpdateSystemUi,
|
ConfigUpdateAction.UpdateSystemUi,
|
||||||
ConfigUpdateAction.ReloadContent
|
ConfigUpdateAction.ReloadContent,
|
||||||
|
ConfigUpdateAction.UpdatePageAnim
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -3429,7 +3435,12 @@ class ReadBookViewModel(
|
|||||||
readBookStyleConfigRepository.importCurrentStyle(bytes)
|
readBookStyleConfigRepository.importCurrentStyle(bytes)
|
||||||
_uiState.update { it.copy(styleConfig = buildStyleConfig()) }
|
_uiState.update { it.copy(styleConfig = buildStyleConfig()) }
|
||||||
_effects.tryEmit(ReadBookEffect.UpdateReadViewConfig(
|
_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)
|
context.getString(R.string.success)
|
||||||
}.onSuccess { message ->
|
}.onSuccess { message ->
|
||||||
|
|||||||
@@ -341,7 +341,6 @@ fun GlobalThemePage(
|
|||||||
onClick = {
|
onClick = {
|
||||||
ReadBook.book?.setPageAnim(-1)
|
ReadBook.book?.setPageAnim(-1)
|
||||||
onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.PageAnim(index)))
|
onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.PageAnim(index)))
|
||||||
onIntent(ReadBookIntent.PageAnimChanged)
|
|
||||||
dismiss()
|
dismiss()
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user