From 452f36939a687624372801b46394a258af169851 Mon Sep 17 00:00:00 2001 From: NGB-Was-Taken <76197326+NGB-Was-Taken@users.noreply.github.com> Date: Mon, 24 Feb 2025 21:53:09 +0545 Subject: [PATCH] Apply "Downloaded only" filter to all entries regardless of favourite status (#1603) Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> (cherry picked from commit 29ee53f4612b6ec9b399da9d29f18cfd0b1a2768) # Conflicts: # CHANGELOG.md --- app/src/main/java/eu/kanade/domain/manga/model/Manga.kt | 5 +---- .../kanade/presentation/manga/ChapterSettingsDialog.kt | 9 +++++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt b/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt index 376339c99..579fc1f72 100644 --- a/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt @@ -23,7 +23,7 @@ val Manga.readerOrientation: Long val Manga.downloadedFilter: TriState get() { - if (forceDownloaded()) return TriState.ENABLED_IS + if (Injekt.get().downloadedOnly().get()) return TriState.ENABLED_IS return when (downloadedFilterRaw) { Manga.CHAPTER_SHOW_DOWNLOADED -> TriState.ENABLED_IS Manga.CHAPTER_SHOW_NOT_DOWNLOADED -> TriState.ENABLED_NOT @@ -35,9 +35,6 @@ fun Manga.chaptersFiltered(): Boolean { downloadedFilter != TriState.DISABLED || bookmarkedFilter != TriState.DISABLED } -fun Manga.forceDownloaded(): Boolean { - return favorite && Injekt.get().downloadedOnly().get() -} fun Manga.toSManga(): SManga = SManga.create().also { it.url = url diff --git a/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt b/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt index 5f98dbb86..9af282179 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt @@ -21,13 +21,14 @@ import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp +import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.manga.model.downloadedFilter -import eu.kanade.domain.manga.model.forceDownloaded import eu.kanade.presentation.components.TabbedDialog import eu.kanade.presentation.components.TabbedDialogPaddings import kotlinx.collections.immutable.persistentListOf @@ -40,6 +41,8 @@ import tachiyomi.presentation.core.components.SortItem import tachiyomi.presentation.core.components.TriStateItem import tachiyomi.presentation.core.i18n.stringResource import tachiyomi.presentation.core.theme.active +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get @Composable fun ChapterSettingsDialog( @@ -63,6 +66,8 @@ fun ChapterSettingsDialog( ) } + val downloadedOnly = remember { Injekt.get().downloadedOnly().get() } + TabbedDialog( onDismissRequest = onDismissRequest, tabTitles = persistentListOf( @@ -97,7 +102,7 @@ fun ChapterSettingsDialog( FilterPage( downloadFilter = manga?.downloadedFilter ?: TriState.DISABLED, onDownloadFilterChanged = onDownloadFilterChanged - .takeUnless { manga?.forceDownloaded() == true }, + .takeUnless { downloadedOnly }, unreadFilter = manga?.unreadFilter ?: TriState.DISABLED, onUnreadFilterChanged = onUnreadFilterChanged, bookmarkedFilter = manga?.bookmarkedFilter ?: TriState.DISABLED,