From 5a458ac39ce3a1ea855ebf0a6f9f6f26c362f5db Mon Sep 17 00:00:00 2001 From: Cuong-Tran Date: Sat, 19 Oct 2024 16:55:28 +0700 Subject: [PATCH] allow Feed to hide entries already in Library close #438 --- .../eu/kanade/domain/source/service/SourcePreferences.kt | 4 ++++ .../more/settings/screen/SettingsBrowseScreen.kt | 6 ++++++ .../kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt | 9 ++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt b/app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt index 70794b0d3..fdc5e085a 100644 --- a/app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt +++ b/app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt @@ -41,6 +41,10 @@ class SourcePreferences( fun hideInLibraryItems() = preferenceStore.getBoolean("browse_hide_in_library_items", false) + // KMK --> + fun hideInLibraryFeedItems() = preferenceStore.getBoolean("feed_hide_in_library_items", false) + // KMK <-- + @Deprecated("Use ExtensionRepoRepository instead", replaceWith = ReplaceWith("ExtensionRepoRepository.getAll()")) fun extensionRepos() = preferenceStore.getStringSet("extension_repos", emptySet()) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt index 460dd9153..a071a2444 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt @@ -105,6 +105,12 @@ object SettingsBrowseScreen : SearchableSettings { subtitle = stringResource(SYMR.strings.pref_feed_position_summery), enabled = hideFeedTab.not(), ), + // KMK --> + Preference.PreferenceItem.SwitchPreference( + pref = sourcePreferences.hideInLibraryFeedItems(), + title = stringResource(MR.strings.pref_hide_in_library_items), + ), + // KMK <-- ), ), // SY <-- diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt index 794395b8a..a07963173 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt @@ -276,6 +276,10 @@ open class FeedScreenModel( ) } + // KMK --> + private val hideInLibraryFeedItems = sourcePreferences.hideInLibraryFeedItems() + // KMK <-- + /** * Initiates get manga per feed. */ @@ -315,7 +319,10 @@ open class FeedScreenModel( itemUI.copy( results = page.map { networkToLocalManga.await(it.toDomainManga(itemUI.source!!.id)) - }, + } + // KMK --> + .filter { !hideInLibraryFeedItems.get() || !it.favorite }, + // KMK <-- ) }