Refactor ‘ThemePreference.kt’

This commit is contained in:
Patryk Michalik
2021-06-15 16:59:03 +02:00
parent 4e6591b825
commit 55a255e07d
2 changed files with 11 additions and 16 deletions
@@ -9,27 +9,22 @@ import com.android.launcher3.R
import com.android.launcher3.Utilities
object ThemeChoice {
val light = "light"
val dark = "dark"
val system = "system"
const val LIGHT = "light"
const val DARK = "dark"
const val SYSTEM = "system"
}
val themeEntries = listOf(
ListPreferenceEntry(ThemeChoice.light) { stringResource(id = R.string.theme_light) },
ListPreferenceEntry(ThemeChoice.dark) { stringResource(id = R.string.theme_dark) },
ListPreferenceEntry(ThemeChoice.system) {
when {
Utilities.ATLEAST_Q -> stringResource(id = R.string.theme_system_default)
else -> stringResource(id = R.string.theme_follow_wallpaper)
}
},
ListPreferenceEntry(ThemeChoice.LIGHT) { stringResource(id = R.string.theme_light) },
ListPreferenceEntry(ThemeChoice.DARK) { stringResource(id = R.string.theme_dark) },
ListPreferenceEntry(ThemeChoice.SYSTEM) {
stringResource(id = if (Utilities.ATLEAST_Q) R.string.theme_system_default else R.string.theme_follow_wallpaper)
}
)
@ExperimentalMaterialApi
@Composable
fun ThemePreference(
showDivider: Boolean = true
) {
fun ThemePreference(showDivider: Boolean = true) {
ListPreference(
adapter = preferenceManager().launcherTheme.getAdapter(),
entries = themeEntries,
@@ -87,8 +87,8 @@ fun getColors(darkTheme: Boolean): Colors = when {
fun isSelectedThemeDark(): Boolean {
val themeChoice by preferenceManager().launcherTheme.observeAsState()
return when (themeChoice) {
ThemeChoice.light -> false
ThemeChoice.dark -> true
ThemeChoice.LIGHT -> false
ThemeChoice.DARK -> true
else -> isAutoThemeDark()
}
}