From 59959bb9eecf25d888a7fa3d42d06ac4cc1c5442 Mon Sep 17 00:00:00 2001 From: tarsin Date: Mon, 5 Jun 2023 12:24:08 +0800 Subject: [PATCH] [DO NOT USE] Migrate to datastore backend --- app/src/main/java/com/hippo/ehviewer/EhApplication.kt | 8 +++++++- app/src/main/java/com/hippo/ehviewer/Settings.kt | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt index cd5c30393..90497037a 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt @@ -46,6 +46,7 @@ import com.hippo.ehviewer.yorozuya.FileUtils import eu.kanade.tachiyomi.core.preference.AndroidPreferenceStore import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences import eu.kanade.tachiyomi.util.lang.launchIO +import eu.kanade.tachiyomi.util.lang.withUIContext import kotlinx.coroutines.DelicateCoroutinesApi import okio.Path.Companion.toOkioPath import splitties.arch.room.roomDb @@ -69,7 +70,12 @@ class EhApplication : Application(), ImageLoaderFactory { super.onCreate() System.loadLibrary("ehviewer") ReadableTime.initialize(this) - AppCompatDelegate.setDefaultNightMode(Settings.theme) + launchIO { + val theme = Settings.theme + withUIContext { + AppCompatDelegate.setDefaultNightMode(theme) + } + } launchIO { launchIO { EhTagDatabase.update() diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.kt b/app/src/main/java/com/hippo/ehviewer/Settings.kt index 30de48352..f5b551f28 100755 --- a/app/src/main/java/com/hippo/ehviewer/Settings.kt +++ b/app/src/main/java/com/hippo/ehviewer/Settings.kt @@ -3,12 +3,14 @@ package com.hippo.ehviewer import com.hippo.ehviewer.client.data.FavListUrlBuilder -import splitties.preferences.DefaultPreferences +import splitties.preferences.DataStorePreferences +import splitties.preferences.DataStorePreferencesPreview import splitties.preferences.edit import java.util.Locale import kotlin.reflect.KProperty -object Settings : DefaultPreferences() { +@OptIn(DataStorePreferencesPreview::class) +object Settings : DataStorePreferences(null) { const val KEY_THEME = "theme" const val KEY_ACCOUNT = "account" const val KEY_IMAGE_LIMITS = "image_limits"