Update app theme preference UI

Heavily influenced by TachiyomiJ2K.
This commit is contained in:
arkon
2021-08-23 10:54:44 -04:00
parent beb7f90908
commit 6240fe1dfc
7 changed files with 338 additions and 9 deletions
@@ -8,6 +8,7 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.preference.asImmediateFlow
import eu.kanade.tachiyomi.util.preference.defaultValue
import eu.kanade.tachiyomi.util.preference.entriesRes
import eu.kanade.tachiyomi.util.preference.initThenAdd
import eu.kanade.tachiyomi.util.preference.intListPreference
import eu.kanade.tachiyomi.util.preference.listPreference
import eu.kanade.tachiyomi.util.preference.onChange
@@ -17,6 +18,7 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory
import eu.kanade.tachiyomi.util.preference.switchPreference
import eu.kanade.tachiyomi.util.preference.titleRes
import eu.kanade.tachiyomi.util.system.isTablet
import eu.kanade.tachiyomi.widget.preference.ThemesPreference
import kotlinx.coroutines.flow.launchIn
import java.util.Date
import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys
@@ -146,7 +148,7 @@ class SettingsGeneralController : SettingsController() {
summary = "%s"
}
listPreference {
initThenAdd(ThemesPreference(context)) {
key = Keys.appTheme
titleRes = R.string.pref_app_theme
@@ -158,10 +160,8 @@ class SettingsGeneralController : SettingsController() {
}
it.titleResId != null && monetFilter
}
entriesRes = appThemes.map { it.titleResId!! }.toTypedArray()
entryValues = appThemes.map { it.name }.toTypedArray()
entries = appThemes
defaultValue = appThemes[0].name
summary = "%s"
onChange {
activity?.recreate()