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