From 431007a73126cddc1c2cd8f5593e951886ecdc10 Mon Sep 17 00:00:00 2001 From: tarsin Date: Wed, 7 Jun 2023 15:02:24 +0800 Subject: [PATCH] Subscribe gallerysite changes --- app/src/main/java/com/hippo/ehviewer/Settings.kt | 2 +- .../java/com/hippo/ehviewer/SettingsCollector.kt | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.kt b/app/src/main/java/com/hippo/ehviewer/Settings.kt index 9ed37f751..68ff71bca 100755 --- a/app/src/main/java/com/hippo/ehviewer/Settings.kt +++ b/app/src/main/java/com/hippo/ehviewer/Settings.kt @@ -27,7 +27,7 @@ object Settings : DataStorePreferences(null) { var favCount by intArrayPref("fav_count", 10) var archivePasswds by stringSetOrNullPref("archive_passwds") var downloadDelay by intFromStrPref("download_delay", 0) - var gallerySite by intFromStrPref("gallery_site", 0) + var gallerySite by intFromStrPref("gallery_site", 0).observed { updateWhenGallerySiteChanges() } var multiThreadDownload by intFromStrPref("download_thread", 3) var preloadImage by intFromStrPref("preload_image", 5) var theme by intFromStrPref("theme", -1).observed { updateWhenThemeChanges() } diff --git a/app/src/main/java/com/hippo/ehviewer/SettingsCollector.kt b/app/src/main/java/com/hippo/ehviewer/SettingsCollector.kt index b7ed3225c..e59d9d7e2 100644 --- a/app/src/main/java/com/hippo/ehviewer/SettingsCollector.kt +++ b/app/src/main/java/com/hippo/ehviewer/SettingsCollector.kt @@ -2,6 +2,7 @@ package com.hippo.ehviewer import androidx.appcompat.app.AppCompatDelegate import androidx.core.os.LocaleListCompat +import com.hippo.ehviewer.client.EhEngine import com.hippo.ehviewer.dailycheck.updateDailyCheckWork import com.hippo.ehviewer.ui.keepNoMediaFileStatus import eu.kanade.tachiyomi.util.lang.launchIO @@ -13,7 +14,7 @@ import kotlinx.coroutines.launch import splitties.init.appCtx import splitties.preferences.PrefDelegate -val collectScope = CoroutineScope(Dispatchers.Main + SupervisorJob()) +private val collectScope = CoroutineScope(Dispatchers.Main + SupervisorJob()) fun > R.observed(func: (Unit) -> Unit) = apply { collectScope.launch { changesFlow().collect(func) } } fun > R.observed(func: (Unit) -> Unit) = apply { collectScope.launch { flowGetter().collect(func) } } @@ -44,3 +45,13 @@ fun updateWhenThemeChanges() { fun updateWhenRequestNewsChanges() { updateDailyCheckWork(appCtx) } + +fun updateWhenGallerySiteChanges() { + collectScope.launchIO { + runCatching { + EhEngine.getUConfig() + }.onFailure { + it.printStackTrace() + } + } +}