diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.kt b/app/src/main/java/com/hippo/ehviewer/Settings.kt index 5704bf8b0..3fc33852c 100755 --- a/app/src/main/java/com/hippo/ehviewer/Settings.kt +++ b/app/src/main/java/com/hippo/ehviewer/Settings.kt @@ -76,7 +76,7 @@ object Settings : DataStorePreferences(null) { val meteredNetworkWarning by boolPref("cellular_network_warning", false) var appLinkVerifyTip by boolPref("app_link_verify_tip", false) var enabledSecurity by boolPref("enable_secure", false) - var mediaScan by boolPref(KEY_MEDIA_SCAN, false) + var mediaScan by boolPref(KEY_MEDIA_SCAN, false).observed { updateWhenKeepMediaStatusChanges() } var hasDefaultDownloadLabel by boolPref("has_default_download_label", false) var qSSaveProgress by boolPref("qs_save_progress", true) var saveParseErrorBody by boolPref("save_parse_error_body", true) diff --git a/app/src/main/java/com/hippo/ehviewer/SettingsCollector.kt b/app/src/main/java/com/hippo/ehviewer/SettingsCollector.kt index 2bb79dd37..40398e19f 100644 --- a/app/src/main/java/com/hippo/ehviewer/SettingsCollector.kt +++ b/app/src/main/java/com/hippo/ehviewer/SettingsCollector.kt @@ -2,6 +2,8 @@ package com.hippo.ehviewer import androidx.appcompat.app.AppCompatDelegate import androidx.core.os.LocaleListCompat +import com.hippo.ehviewer.ui.keepNoMediaFileStatus +import eu.kanade.tachiyomi.util.lang.launchIO import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -19,3 +21,11 @@ fun updateWhenLocaleChanges() { AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(newValue)) } } + +fun updateWhenKeepMediaStatusChanges() { + collectScope.launchIO { + runCatching { + keepNoMediaFileStatus() + } + } +}