From 190f4a68ac1198fa920e14316a09e5f8767e262d Mon Sep 17 00:00:00 2001 From: Danny Wu <41532792+User826@users.noreply.github.com> Date: Fri, 20 Jun 2025 05:00:10 -0400 Subject: [PATCH] Add option to hide missing chapter count (mihonapp/mihon#2108) Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> (cherry picked from commit d2c1ff6adf5543e5a593949704d41f2358252593) --- .../more/settings/screen/SettingsLibraryScreen.kt | 4 ++++ .../java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt | 6 ++++++ .../tachiyomi/domain/library/service/LibraryPreferences.kt | 1 + i18n/src/commonMain/moko-resources/base/strings.xml | 2 ++ 4 files changed, 13 insertions(+) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt index e046cba00..4d58a79b5 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt @@ -287,6 +287,10 @@ object SettingsLibraryScreen : SearchableSettings { ), title = stringResource(MR.strings.pref_mark_duplicate_read_chapter_read), ), + Preference.PreferenceItem.SwitchPreference( + preference = libraryPreferences.hideMissingChapters(), + title = stringResource(MR.strings.pref_hide_missing_chapter_indicators), + ), ), ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt index 2bfd01510..0894db0cd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt @@ -481,6 +481,7 @@ class MangaScreenModel( excludedScanlators = getExcludedScanlators.await(mangaId).toImmutableSet(), isRefreshingData = needRefreshInfo || needRefreshChapter, dialog = null, + hideMissingChapters = libraryPreferences.hideMissingChapters().get(), // SY --> showRecommendationsInOverflow = uiPreferences.recommendsInOverflow().get(), showMergeInOverflow = uiPreferences.mergeInOverflow().get(), @@ -1899,6 +1900,7 @@ class MangaScreenModel( val isRefreshingData: Boolean = false, val dialog: Dialog? = null, val hasPromptedToAddBefore: Boolean = false, + val hideMissingChapters: Boolean = false, // SY --> val meta: RaisedSearchMetadata?, @@ -1951,6 +1953,10 @@ class MangaScreenModel( } val chapterListItems by lazy { + if (hideMissingChapters) { + return@lazy processedChapters + } + processedChapters.insertSeparators { before, after -> val (lowerChapter, higherChapter) = if (manga.sortDescending()) { after to before diff --git a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt index 0c9883bbf..05bcf06e4 100644 --- a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt +++ b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt @@ -223,6 +223,7 @@ class LibraryPreferences( fun autoClearChapterCache() = preferenceStore.getBoolean("auto_clear_chapter_cache", false) + fun hideMissingChapters() = preferenceStore.getBoolean("pref_hide_missing_chapter_indicators", false) // endregion // region Swipe Actions diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml index 28e17619c..4ca07972d 100644 --- a/i18n/src/commonMain/moko-resources/base/strings.xml +++ b/i18n/src/commonMain/moko-resources/base/strings.xml @@ -319,6 +319,8 @@ After reading a chapter After fetching new chapter + Hide missing chapter indicators + Multi Updates pending