|
@@ -7,6 +7,7 @@ import androidx.appcompat.app.AppCompatActivity
|
|
|
import androidx.appcompat.app.AppCompatDelegate
|
|
|
import eu.kanade.tachiyomi.R
|
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
|
+import eu.kanade.tachiyomi.data.preference.getOrDefault
|
|
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
|
|
import uy.kohesive.injekt.injectLazy
|
|
|
import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values
|
|
@@ -15,12 +16,13 @@ abstract class BaseActivity : AppCompatActivity() {
|
|
|
|
|
|
val preferences: PreferencesHelper by injectLazy()
|
|
|
|
|
|
- private val darkTheme: Int
|
|
|
- get() = when (preferences.themeDark()) {
|
|
|
+ private val darkTheme: Int by lazy {
|
|
|
+ when (preferences.themeDark()) {
|
|
|
Values.THEME_DARK_DEFAULT -> R.style.Theme_Tachiyomi_Dark
|
|
|
Values.THEME_DARK_AMOLED -> R.style.Theme_Tachiyomi_Amoled
|
|
|
else -> R.style.Theme_Tachiyomi_DarkBlue
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
init {
|
|
|
@Suppress("LeakingThis")
|
|
@@ -28,10 +30,9 @@ abstract class BaseActivity : AppCompatActivity() {
|
|
|
}
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
- setTheme(when (preferences.themeMode()) {
|
|
|
- Values.THEME_MODE_LIGHT -> R.style.Theme_Tachiyomi
|
|
|
+ setTheme(when (preferences.themeMode().getOrDefault()) {
|
|
|
Values.THEME_MODE_DARK -> darkTheme
|
|
|
- else -> {
|
|
|
+ Values.THEME_MODE_SYSTEM -> {
|
|
|
val mode = getSystemService(Context.UI_MODE_SERVICE) as UiModeManager
|
|
|
if (mode.nightMode == AppCompatDelegate.MODE_NIGHT_YES) {
|
|
|
darkTheme
|
|
@@ -39,7 +40,9 @@ abstract class BaseActivity : AppCompatActivity() {
|
|
|
R.style.Theme_Tachiyomi
|
|
|
}
|
|
|
}
|
|
|
+ else -> R.style.Theme_Tachiyomi
|
|
|
})
|
|
|
+
|
|
|
super.onCreate(savedInstanceState)
|
|
|
}
|
|
|
|