Refactor ‘ThemePreference.kt’
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user