Add option for library update only update completely read manga (#6323)

* Add option for library update only update completely read manga

only check manga for updates if there is no unread chapter

* sum
This commit is contained in:
Riztard Lanthorn 2021-12-17 21:40:54 +07:00 committed by GitHub
parent 38d131be37
commit 6fddad7a77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 0 deletions

View File

@ -262,6 +262,10 @@ class LibraryUpdateService(
listToUpdate = listToUpdate.filterNot { it.status == SManga.COMPLETED } listToUpdate = listToUpdate.filterNot { it.status == SManga.COMPLETED }
} }
if (target == Target.CHAPTERS && preferences.updateOnlyCompletelyRead()) {
listToUpdate = listToUpdate.filter { it.unread == 0 }
}
val selectedScheme = preferences.libraryUpdatePrioritization().get() val selectedScheme = preferences.libraryUpdatePrioritization().get()
mangaToUpdate = listToUpdate mangaToUpdate = listToUpdate
.distinctBy { it.id } .distinctBy { it.id }

View File

@ -101,6 +101,8 @@ object PreferenceKeys {
const val updateOnlyNonCompleted = "pref_update_only_non_completed_key" const val updateOnlyNonCompleted = "pref_update_only_non_completed_key"
const val updateOnlyCompletelyRead = "pref_update_only_completely_read"
const val autoUpdateTrack = "pref_auto_update_manga_sync_key" const val autoUpdateTrack = "pref_auto_update_manga_sync_key"
const val lastUsedSource = "last_catalogue_source" const val lastUsedSource = "last_catalogue_source"

View File

@ -179,6 +179,8 @@ class PreferencesHelper(val context: Context) {
fun updateOnlyNonCompleted() = prefs.getBoolean(Keys.updateOnlyNonCompleted, true) fun updateOnlyNonCompleted() = prefs.getBoolean(Keys.updateOnlyNonCompleted, true)
fun updateOnlyCompletelyRead() = prefs.getBoolean(Keys.updateOnlyCompletelyRead, true)
fun autoUpdateTrack() = prefs.getBoolean(Keys.autoUpdateTrack, true) fun autoUpdateTrack() = prefs.getBoolean(Keys.autoUpdateTrack, true)
fun lastUsedSource() = flowPrefs.getLong(Keys.lastUsedSource, -1) fun lastUsedSource() = flowPrefs.getLong(Keys.lastUsedSource, -1)

View File

@ -199,6 +199,12 @@ class SettingsLibraryController : SettingsController() {
titleRes = R.string.pref_update_only_non_completed titleRes = R.string.pref_update_only_non_completed
defaultValue = true defaultValue = true
} }
switchPreference {
key = Keys.updateOnlyCompletelyRead
titleRes = R.string.pref_update_only_completely_read
summaryRes = R.string.pref_update_only_completely_read_summary
defaultValue = false
}
preference { preference {
key = Keys.libraryUpdateCategories key = Keys.libraryUpdateCategories
titleRes = R.string.categories titleRes = R.string.categories

View File

@ -222,6 +222,8 @@
<string name="charging">Charging</string> <string name="charging">Charging</string>
<string name="restrictions">Restrictions: %s</string> <string name="restrictions">Restrictions: %s</string>
<string name="pref_update_only_non_completed">Only update ongoing manga</string> <string name="pref_update_only_non_completed">Only update ongoing manga</string>
<string name="pref_update_only_completely_read">Only update completely read manga</string>
<string name="pref_update_only_completely_read_summary">Only update manga if there is no unread chapter(completely read)</string>
<string name="pref_library_update_show_tab_badge">Show unread count on Updates icon</string> <string name="pref_library_update_show_tab_badge">Show unread count on Updates icon</string>
<string name="pref_library_update_refresh_metadata">Automatically refresh metadata</string> <string name="pref_library_update_refresh_metadata">Automatically refresh metadata</string>
<string name="pref_library_update_refresh_metadata_summary">Check for new cover and details when updating library</string> <string name="pref_library_update_refresh_metadata_summary">Check for new cover and details when updating library</string>