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
@@ -18,8 +18,13 @@ abstract class BaseThemedActivity : AppCompatActivity() {
companion object {
fun AppCompatActivity.applyAppTheme(preferences: PreferencesHelper) {
getThemeResIds(preferences.appTheme().get(), preferences.themeDarkAmoled().get())
.forEach { setTheme(it) }
}
fun getThemeResIds(appTheme: PreferenceValues.AppTheme, isAmoled: Boolean): List<Int> {
val resIds = mutableListOf<Int>()
when (preferences.appTheme().get()) {
when (appTheme) {
PreferenceValues.AppTheme.MONET -> {
resIds += R.style.Theme_Tachiyomi_Monet
}
@@ -53,13 +58,11 @@ abstract class BaseThemedActivity : AppCompatActivity() {
}
}
if (preferences.themeDarkAmoled().get()) {
if (isAmoled) {
resIds += R.style.ThemeOverlay_Tachiyomi_Amoled
}
resIds.forEach {
setTheme(it)
}
return resIds
}
}
}