avoid loading cover's color if theme cover based is disabled
This commit is contained in:
parent
ddc7801436
commit
0a3d9121ae
5 changed files with 35 additions and 20 deletions
|
|
@ -74,6 +74,7 @@ class MangaCoverFetcher(
|
|||
// KMK -->
|
||||
private val fileScope by lazy { CoroutineScope(Job() + Dispatchers.IO) }
|
||||
private val uiPreferences = Injekt.get<UiPreferences>()
|
||||
private val themeCoverBased = uiPreferences.themeCoverBased().get()
|
||||
// KMK <--
|
||||
|
||||
private val diskCacheKey: String
|
||||
|
|
@ -347,7 +348,7 @@ class MangaCoverFetcher(
|
|||
mangaCover: MangaCover,
|
||||
bufferedSource: BufferedSource? = null,
|
||||
ogFile: File? = null,
|
||||
onlyFavorite: Boolean = !uiPreferences.themeCoverBased().get(),
|
||||
onlyFavorite: Boolean = !themeCoverBased,
|
||||
force: Boolean = false,
|
||||
) {
|
||||
fileScope.launch {
|
||||
|
|
|
|||
|
|
@ -122,6 +122,13 @@ class MangaScreen(
|
|||
|
||||
override fun onProvideAssistUrl() = assistUrl
|
||||
|
||||
// KMK -->
|
||||
private val uiPreferences = Injekt.get<UiPreferences>()
|
||||
private val themeCoverBased = uiPreferences.themeCoverBased().get()
|
||||
private val themeDarkAmoled = uiPreferences.themeDarkAmoled().get()
|
||||
private val themeCoverBasedStyle = uiPreferences.themeCoverBasedStyle().get()
|
||||
// KMK <--
|
||||
|
||||
@Composable
|
||||
override fun Content() {
|
||||
if (!ifSourcesLoaded()) {
|
||||
|
|
@ -157,8 +164,6 @@ class MangaScreen(
|
|||
}
|
||||
}
|
||||
|
||||
val uiPreferences = remember { Injekt.get<UiPreferences>() }
|
||||
|
||||
val content = @Composable {
|
||||
val slideDistance = rememberSlideDistance()
|
||||
AnimatedContent(
|
||||
|
|
@ -195,12 +200,12 @@ class MangaScreen(
|
|||
}
|
||||
|
||||
val seedColor = successState.seedColor
|
||||
if (uiPreferences.themeCoverBased().get() && seedColor != null) {
|
||||
if (themeCoverBased && seedColor != null) {
|
||||
DynamicMaterialTheme(
|
||||
seedColor = seedColor,
|
||||
useDarkTheme = isSystemInDarkTheme(),
|
||||
withAmoled = uiPreferences.themeDarkAmoled().get(),
|
||||
style = uiPreferences.themeCoverBasedStyle().get(),
|
||||
withAmoled = themeDarkAmoled,
|
||||
style = themeCoverBasedStyle,
|
||||
animate = true,
|
||||
content = { content() },
|
||||
)
|
||||
|
|
@ -208,7 +213,6 @@ class MangaScreen(
|
|||
content()
|
||||
}
|
||||
|
||||
// KMK -->
|
||||
when (bulkFavoriteState.dialog) {
|
||||
is BulkFavoriteScreenModel.Dialog.AddDuplicateManga ->
|
||||
AddDuplicateMangaDialog(bulkFavoriteScreenModel)
|
||||
|
|
@ -227,7 +231,6 @@ class MangaScreen(
|
|||
|
||||
else -> {}
|
||||
}
|
||||
// KMK <--
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
|
@ -378,8 +381,8 @@ class MangaScreen(
|
|||
navigator.push(ExtensionsScreen(searchSource = successState.source.name))
|
||||
}
|
||||
},
|
||||
onCoverLoaded = screenModel::setPaletteColor,
|
||||
onPaletteScreenClick = { navigator.push(PaletteScreen(successState.seedColor?.toArgb())) }
|
||||
onCoverLoaded = { if (themeCoverBased || successState.manga.favorite) screenModel.setPaletteColor(it) },
|
||||
onPaletteScreenClick = { navigator.push(PaletteScreen(successState.seedColor?.toArgb())) },
|
||||
// KMK <--
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -33,17 +33,23 @@ class PaletteScreen(
|
|||
@ColorInt private val seedColor: Int?,
|
||||
) : Screen() {
|
||||
|
||||
// KMK -->
|
||||
private val uiPreferences = Injekt.get<UiPreferences>()
|
||||
private val themeCoverBased = uiPreferences.themeCoverBased().get()
|
||||
private val themeDarkAmoled = uiPreferences.themeDarkAmoled().get()
|
||||
private val themeCoverBasedStyle = uiPreferences.themeCoverBasedStyle().get()
|
||||
// KMK <--
|
||||
|
||||
@Composable
|
||||
override fun Content() {
|
||||
val seedColor = seedColor?.let { Color(it) } ?: MaterialTheme.colorScheme.primary
|
||||
val uiPreferences = remember { Injekt.get<UiPreferences>() }
|
||||
|
||||
if (uiPreferences.themeCoverBased().get()) {
|
||||
if (themeCoverBased) {
|
||||
DynamicMaterialTheme(
|
||||
seedColor = seedColor,
|
||||
useDarkTheme = isSystemInDarkTheme(),
|
||||
withAmoled = uiPreferences.themeDarkAmoled().get(),
|
||||
style = uiPreferences.themeCoverBasedStyle().get(),
|
||||
withAmoled = themeDarkAmoled,
|
||||
style = themeCoverBasedStyle,
|
||||
animate = true,
|
||||
content = { MaterialThemeContent(seedColor) },
|
||||
)
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@ class ReaderActivity : BaseActivity() {
|
|||
|
||||
// KMK -->
|
||||
binding.pageNumber.setComposeContent {
|
||||
if (uiPreferences.themeCoverBased().get() && seedColor != null) {
|
||||
if (themeCoverBased && seedColor != null) {
|
||||
DynamicMaterialTheme(
|
||||
seedColor = seedColor,
|
||||
useDarkTheme = isSystemInDarkTheme(),
|
||||
|
|
|
|||
|
|
@ -47,6 +47,13 @@ class MetadataViewScreen(
|
|||
// KMK <--
|
||||
) : Screen() {
|
||||
|
||||
// KMK -->
|
||||
private val uiPreferences = Injekt.get<UiPreferences>()
|
||||
private val themeCoverBased = uiPreferences.themeCoverBased().get()
|
||||
private val themeDarkAmoled = uiPreferences.themeDarkAmoled().get()
|
||||
private val themeCoverBasedStyle = uiPreferences.themeCoverBasedStyle().get()
|
||||
// KMK <--
|
||||
|
||||
@Composable
|
||||
override fun Content() {
|
||||
val screenModel = rememberScreenModel { MetadataViewScreenModel(mangaId, sourceId) }
|
||||
|
|
@ -112,14 +119,12 @@ class MetadataViewScreen(
|
|||
}
|
||||
|
||||
// KMK -->
|
||||
val uiPreferences = remember { Injekt.get<UiPreferences>() }
|
||||
|
||||
if (uiPreferences.themeCoverBased().get() && seedColor != null) {
|
||||
if (themeCoverBased && seedColor != null) {
|
||||
DynamicMaterialTheme(
|
||||
seedColor = seedColor,
|
||||
useDarkTheme = isSystemInDarkTheme(),
|
||||
withAmoled = uiPreferences.themeDarkAmoled().get(),
|
||||
style = uiPreferences.themeCoverBasedStyle().get(),
|
||||
withAmoled = themeDarkAmoled,
|
||||
style = themeCoverBasedStyle,
|
||||
animate = true,
|
||||
content = { content() },
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue