diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
index 6ad9523aa..75effa50c 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
@@ -341,6 +341,10 @@ class LibraryUpdateService(
listToUpdate = listToUpdate.filterNot { it.status == SManga.COMPLETED }
}
+ if (target == Target.CHAPTERS && preferences.updateOnlyCompletelyRead()) {
+ listToUpdate = listToUpdate.filter { it.unread == 0 }
+ }
+
val selectedScheme = preferences.libraryUpdatePrioritization().get()
mangaToUpdate = listToUpdate
.distinctBy { it.id }
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
index 9abf7d4d5..1406d1b4f 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
@@ -103,6 +103,8 @@ object PreferenceKeys {
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 lastUsedSource = "last_catalogue_source"
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
index d8f59f697..12b20ff76 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
@@ -183,6 +183,8 @@ class PreferencesHelper(val context: Context) {
fun updateOnlyNonCompleted() = prefs.getBoolean(Keys.updateOnlyNonCompleted, true)
+ fun updateOnlyCompletelyRead() = prefs.getBoolean(Keys.updateOnlyCompletelyRead, true)
+
fun autoUpdateTrack() = prefs.getBoolean(Keys.autoUpdateTrack, true)
fun lastUsedSource() = flowPrefs.getLong(Keys.lastUsedSource, -1)
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
index 8739279a5..e64240e09 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
@@ -225,6 +225,12 @@ class SettingsLibraryController : SettingsController() {
titleRes = R.string.pref_update_only_non_completed
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 {
key = Keys.libraryUpdateCategories
titleRes = R.string.categories
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7b6112f86..3dd61421c 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -222,6 +222,8 @@
Charging
Restrictions: %s
Only update ongoing manga
+ Only update completely read manga
+ Only update manga if there is no unread chapter(completely read)
Show unread count on Updates icon
Automatically refresh metadata
Check for new cover and details when updating library