Skip to content

Commit 0a3d912

Browse files
committed
avoid loading cover's color if theme cover based is disabled
1 parent ddc7801 commit 0a3d912

File tree

5 files changed

+35
-20
lines changed

5 files changed

+35
-20
lines changed

app/src/main/java/eu/kanade/tachiyomi/data/coil/MangaCoverFetcher.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ class MangaCoverFetcher(
7474
// KMK -->
7575
private val fileScope by lazy { CoroutineScope(Job() + Dispatchers.IO) }
7676
private val uiPreferences = Injekt.get<UiPreferences>()
77+
private val themeCoverBased = uiPreferences.themeCoverBased().get()
7778
// KMK <--
7879

7980
private val diskCacheKey: String
@@ -347,7 +348,7 @@ class MangaCoverFetcher(
347348
mangaCover: MangaCover,
348349
bufferedSource: BufferedSource? = null,
349350
ogFile: File? = null,
350-
onlyFavorite: Boolean = !uiPreferences.themeCoverBased().get(),
351+
onlyFavorite: Boolean = !themeCoverBased,
351352
force: Boolean = false,
352353
) {
353354
fileScope.launch {

app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt

+12-9
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,13 @@ class MangaScreen(
122122

123123
override fun onProvideAssistUrl() = assistUrl
124124

125+
// KMK -->
126+
private val uiPreferences = Injekt.get<UiPreferences>()
127+
private val themeCoverBased = uiPreferences.themeCoverBased().get()
128+
private val themeDarkAmoled = uiPreferences.themeDarkAmoled().get()
129+
private val themeCoverBasedStyle = uiPreferences.themeCoverBasedStyle().get()
130+
// KMK <--
131+
125132
@Composable
126133
override fun Content() {
127134
if (!ifSourcesLoaded()) {
@@ -157,8 +164,6 @@ class MangaScreen(
157164
}
158165
}
159166

160-
val uiPreferences = remember { Injekt.get<UiPreferences>() }
161-
162167
val content = @Composable {
163168
val slideDistance = rememberSlideDistance()
164169
AnimatedContent(
@@ -195,20 +200,19 @@ class MangaScreen(
195200
}
196201

197202
val seedColor = successState.seedColor
198-
if (uiPreferences.themeCoverBased().get() && seedColor != null) {
203+
if (themeCoverBased && seedColor != null) {
199204
DynamicMaterialTheme(
200205
seedColor = seedColor,
201206
useDarkTheme = isSystemInDarkTheme(),
202-
withAmoled = uiPreferences.themeDarkAmoled().get(),
203-
style = uiPreferences.themeCoverBasedStyle().get(),
207+
withAmoled = themeDarkAmoled,
208+
style = themeCoverBasedStyle,
204209
animate = true,
205210
content = { content() },
206211
)
207212
} else {
208213
content()
209214
}
210215

211-
// KMK -->
212216
when (bulkFavoriteState.dialog) {
213217
is BulkFavoriteScreenModel.Dialog.AddDuplicateManga ->
214218
AddDuplicateMangaDialog(bulkFavoriteScreenModel)
@@ -227,7 +231,6 @@ class MangaScreen(
227231

228232
else -> {}
229233
}
230-
// KMK <--
231234
}
232235

233236
@Composable
@@ -378,8 +381,8 @@ class MangaScreen(
378381
navigator.push(ExtensionsScreen(searchSource = successState.source.name))
379382
}
380383
},
381-
onCoverLoaded = screenModel::setPaletteColor,
382-
onPaletteScreenClick = { navigator.push(PaletteScreen(successState.seedColor?.toArgb())) }
384+
onCoverLoaded = { if (themeCoverBased || successState.manga.favorite) screenModel.setPaletteColor(it) },
385+
onPaletteScreenClick = { navigator.push(PaletteScreen(successState.seedColor?.toArgb())) },
383386
// KMK <--
384387
)
385388

app/src/main/java/eu/kanade/tachiyomi/ui/manga/PaletteScreen.kt

+10-4
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,23 @@ class PaletteScreen(
3333
@ColorInt private val seedColor: Int?,
3434
) : Screen() {
3535

36+
// KMK -->
37+
private val uiPreferences = Injekt.get<UiPreferences>()
38+
private val themeCoverBased = uiPreferences.themeCoverBased().get()
39+
private val themeDarkAmoled = uiPreferences.themeDarkAmoled().get()
40+
private val themeCoverBasedStyle = uiPreferences.themeCoverBasedStyle().get()
41+
// KMK <--
42+
3643
@Composable
3744
override fun Content() {
3845
val seedColor = seedColor?.let { Color(it) } ?: MaterialTheme.colorScheme.primary
39-
val uiPreferences = remember { Injekt.get<UiPreferences>() }
4046

41-
if (uiPreferences.themeCoverBased().get()) {
47+
if (themeCoverBased) {
4248
DynamicMaterialTheme(
4349
seedColor = seedColor,
4450
useDarkTheme = isSystemInDarkTheme(),
45-
withAmoled = uiPreferences.themeDarkAmoled().get(),
46-
style = uiPreferences.themeCoverBasedStyle().get(),
51+
withAmoled = themeDarkAmoled,
52+
style = themeCoverBasedStyle,
4753
animate = true,
4854
content = { MaterialThemeContent(seedColor) },
4955
)

app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ class ReaderActivity : BaseActivity() {
406406

407407
// KMK -->
408408
binding.pageNumber.setComposeContent {
409-
if (uiPreferences.themeCoverBased().get() && seedColor != null) {
409+
if (themeCoverBased && seedColor != null) {
410410
DynamicMaterialTheme(
411411
seedColor = seedColor,
412412
useDarkTheme = isSystemInDarkTheme(),

app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt

+10-5
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ class MetadataViewScreen(
4747
// KMK <--
4848
) : Screen() {
4949

50+
// KMK -->
51+
private val uiPreferences = Injekt.get<UiPreferences>()
52+
private val themeCoverBased = uiPreferences.themeCoverBased().get()
53+
private val themeDarkAmoled = uiPreferences.themeDarkAmoled().get()
54+
private val themeCoverBasedStyle = uiPreferences.themeCoverBasedStyle().get()
55+
// KMK <--
56+
5057
@Composable
5158
override fun Content() {
5259
val screenModel = rememberScreenModel { MetadataViewScreenModel(mangaId, sourceId) }
@@ -112,14 +119,12 @@ class MetadataViewScreen(
112119
}
113120

114121
// KMK -->
115-
val uiPreferences = remember { Injekt.get<UiPreferences>() }
116-
117-
if (uiPreferences.themeCoverBased().get() && seedColor != null) {
122+
if (themeCoverBased && seedColor != null) {
118123
DynamicMaterialTheme(
119124
seedColor = seedColor,
120125
useDarkTheme = isSystemInDarkTheme(),
121-
withAmoled = uiPreferences.themeDarkAmoled().get(),
122-
style = uiPreferences.themeCoverBasedStyle().get(),
126+
withAmoled = themeDarkAmoled,
127+
style = themeCoverBasedStyle,
123128
animate = true,
124129
content = { content() },
125130
)

0 commit comments

Comments
 (0)