From fb940d3982a707fb46f297720f10ff30f5b9ebd0 Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Sun, 19 May 2024 21:52:57 +0800 Subject: [PATCH] Group downloads by artist if no labels are defined --- app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt | 8 +++++++- app/src/main/kotlin/com/hippo/ehviewer/Settings.kt | 2 +- .../com/hippo/ehviewer/download/DownloadsFilterMode.kt | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt b/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt index 1efdd9b7b..c1329a316 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/EhApplication.kt @@ -46,6 +46,7 @@ import com.hippo.ehviewer.coil.MergeInterceptor import com.hippo.ehviewer.dailycheck.checkDawn import com.hippo.ehviewer.dao.SearchDatabase import com.hippo.ehviewer.download.DownloadManager +import com.hippo.ehviewer.download.DownloadsFilterMode import com.hippo.ehviewer.ktbuilder.diskCache import com.hippo.ehviewer.ktbuilder.imageLoader import com.hippo.ehviewer.ktor.CronetEngine @@ -107,7 +108,12 @@ class EhApplication : Application(), SingletonImageLoader.Factory { launch { EhTagDatabase } launch { EhDB } dataStateFlow.value - launch { DownloadManager.readMetadataFromLocal() } + launch { + if (DownloadManager.labelList.isNotEmpty() && Settings.downloadFilterMode.key !in Settings.prefs) { + Settings.downloadFilterMode.value = DownloadsFilterMode.CUSTOM.flag + } + DownloadManager.readMetadataFromLocal() + } launch { FileUtils.cleanupDirectory(AppConfig.externalCrashDir) FileUtils.cleanupDirectory(AppConfig.externalParseErrorDir) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/Settings.kt b/app/src/main/kotlin/com/hippo/ehviewer/Settings.kt index 0792e5b87..7b06acf61 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/Settings.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/Settings.kt @@ -111,6 +111,7 @@ object Settings : DataStorePreferences(null) { val listThumbSize = intPref("list_tile_size", 40) val languageFilter = intPref("language_filter", -1) val downloadSortMode = intPref("download_sort_mode", SortMode.Default.flag) + val downloadFilterMode = intPref("download_filter_mode", DownloadsFilterMode.Default.flag) val meteredNetworkWarning = boolPref("cellular_network_warning", false) val blackDarkTheme = boolPref("black_dark_theme", false) val gridView = boolPref("grid_view", false) @@ -120,7 +121,6 @@ object Settings : DataStorePreferences(null) { val animateItems = boolPref("animate_items", true) val displayName = stringOrNullPref("display_name", null) val recentDownloadLabel = stringOrNullPref("recent_download_label", null) - val downloadFilterMode = intPref("download_filter_mode", DownloadsFilterMode.Default.flag) var downloadScheme by stringOrNullPref("image_scheme", null) var downloadAuthority by stringOrNullPref("image_authority", null) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/download/DownloadsFilterMode.kt b/app/src/main/kotlin/com/hippo/ehviewer/download/DownloadsFilterMode.kt index 9bc703773..ac085a834 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/download/DownloadsFilterMode.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/download/DownloadsFilterMode.kt @@ -20,7 +20,7 @@ enum class DownloadsFilterMode( ; companion object { - val Default = CUSTOM + val Default = ARTIST fun from(flag: Int) = DownloadsFilterMode.entries[flag] } }