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 7d4251188..855a98d39 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
@@ -334,16 +334,18 @@ class LibraryUpdateService(
val source = sourceManager.get(manga.source) ?: return Observable.empty()
// Update manga details metadata in the background
- source.fetchMangaDetails(manga)
- .map { networkManga ->
- manga.prepUpdateCover(coverCache, networkManga, false)
- manga.copyFrom(networkManga)
- db.insertManga(manga).executeAsBlocking()
- manga
- }
- .onErrorResumeNext { Observable.just(manga) }
- .subscribeOn(Schedulers.io())
- .subscribe()
+ if (preferences.autoUpdateMetadata()) {
+ source.fetchMangaDetails(manga)
+ .map { networkManga ->
+ manga.prepUpdateCover(coverCache, networkManga, false)
+ manga.copyFrom(networkManga)
+ db.insertManga(manga).executeAsBlocking()
+ manga
+ }
+ .onErrorResumeNext { Observable.just(manga) }
+ .subscribeOn(Schedulers.io())
+ .subscribe()
+ }
return source.fetchChapterList(manga)
.map { syncChaptersWithSource(db, it, manga, source) }
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 839763b1b..6e27b07bd 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
@@ -123,6 +123,8 @@ object PreferenceKeys {
const val hideNotificationContent = "hide_notification_content"
+ const val autoUpdateMetadata = "auto_update_metadata"
+
const val showLibraryUpdateErrors = "show_library_update_errors"
const val downloadNew = "download_new"
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 44cab6f38..de566015a 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
@@ -67,6 +67,8 @@ class PreferencesHelper(val context: Context) {
fun hideNotificationContent() = prefs.getBoolean(Keys.hideNotificationContent, false)
+ fun autoUpdateMetadata() = prefs.getBoolean(Keys.autoUpdateMetadata, false)
+
fun showLibraryUpdateErrors() = prefs.getBoolean(Keys.showLibraryUpdateErrors, false)
fun clear() = prefs.edit().clear().apply()
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 ef306ec96..70137dce2 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
@@ -199,6 +199,12 @@ class SettingsLibraryController : SettingsController() {
true
}
}
+ switchPreference {
+ key = Keys.autoUpdateMetadata
+ titleRes = R.string.pref_library_update_refresh_metadata
+ summaryRes = R.string.pref_library_update_refresh_metadata_summary
+ defaultValue = false
+ }
switchPreference {
key = Keys.showLibraryUpdateErrors
titleRes = R.string.pref_library_update_error_notification
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f6f5c036a..5fcbe1122 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -184,6 +184,8 @@
Wi-Fi
Charging
Only update ongoing manga
+ Automatically refresh metadata
+ Check for new cover and details when updating library
Show update errors notifications
Categories