From cbdd1a253838cfbc6989cce9ea9ec4fd40c53002 Mon Sep 17 00:00:00 2001 From: aayush262 Date: Fri, 2 Feb 2024 19:05:32 +0530 Subject: [PATCH] Fix dark theme --- app/src/main/java/ani/dantotsu/Functions.kt | 6 ++-- .../ani/dantotsu/settings/SettingsActivity.kt | 31 +++++++++---------- .../dantotsu/settings/saving/Preferences.kt | 2 +- 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/Functions.kt b/app/src/main/java/ani/dantotsu/Functions.kt index 61bfaa46..b9e5be2a 100644 --- a/app/src/main/java/ani/dantotsu/Functions.kt +++ b/app/src/main/java/ani/dantotsu/Functions.kt @@ -109,13 +109,13 @@ fun logger(e: Any?, print: Boolean = true) { fun initActivity(a: Activity) { val window = a.window WindowCompat.setDecorFitsSystemWindows(window, false) - val darkMode = PrefManager.getNullableVal(PrefName.DarkMode, null as Boolean?) + val darkMode = PrefManager.getVal(PrefName.DarkMode) val immersiveMode: Boolean = PrefManager.getVal(PrefName.ImmersiveMode) darkMode.apply { AppCompatDelegate.setDefaultNightMode( when (this) { - true -> AppCompatDelegate.MODE_NIGHT_YES - false -> AppCompatDelegate.MODE_NIGHT_NO + 2 -> AppCompatDelegate.MODE_NIGHT_YES + 1 -> AppCompatDelegate.MODE_NIGHT_NO else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM } ) diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt index a382c7f6..43e42426 100644 --- a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt @@ -485,21 +485,18 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene startActivity(Intent(this, ReaderSettingsActivity::class.java)) } - var previous: View = when (PrefManager.getNullableVal(PrefName.DarkMode, null as Boolean?)) { - null -> binding.settingsUiAuto - true -> binding.settingsUiDark - false -> binding.settingsUiLight + var previous: View = when (PrefManager.getVal(PrefName.DarkMode)) { + 0 -> binding.settingsUiAuto + 1 -> binding.settingsUiLight + 2 -> binding.settingsUiDark + else -> binding.settingsUiAuto } previous.alpha = 1f - fun uiTheme(mode: Boolean?, current: View) { + fun uiTheme(mode: Int, current: View) { previous.alpha = 0.33f previous = current current.alpha = 1f - if (mode == null) { - PrefManager.removeVal(PrefName.DarkMode) - } else { - PrefManager.setVal(PrefName.DarkMode, mode) - } + PrefManager.setVal(PrefName.DarkMode, mode) Refresh.all() finish() startActivity(Intent(this, SettingsActivity::class.java)) @@ -507,16 +504,16 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene } binding.settingsUiAuto.setOnClickListener { - uiTheme(null, it) + uiTheme(0, it) } binding.settingsUiLight.setOnClickListener { binding.settingsUseOLED.isChecked = false - uiTheme(false, it) + uiTheme(1, it) } binding.settingsUiDark.setOnClickListener { - uiTheme(true, it) + uiTheme(2, it) } var previousStart: View = when (PrefManager.getVal(PrefName.DefaultStartUpTab)) { @@ -526,7 +523,7 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene else -> binding.uiSettingsHome } previousStart.alpha = 1f - fun uiTheme(mode: Int, current: View) { + fun uiDefault(mode: Int, current: View) { previousStart.alpha = 0.33f previousStart = current current.alpha = 1f @@ -536,15 +533,15 @@ class SettingsActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListene binding.uiSettingsAnime.setOnClickListener { - uiTheme(0, it) + uiDefault(0, it) } binding.uiSettingsHome.setOnClickListener { - uiTheme(1, it) + uiDefault(1, it) } binding.uiSettingsManga.setOnClickListener { - uiTheme(2, it) + uiDefault(2, it) } binding.settingsShowYt.isChecked = PrefManager.getVal(PrefName.ShowYtButton) diff --git a/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt b/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt index 2e897486..2e7b3ff1 100644 --- a/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt +++ b/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt @@ -30,7 +30,7 @@ enum class PrefName(val data: Pref) { //TODO: Split this into multiple files UseMaterialYou(Pref(Location.UI, Boolean::class, false)), Theme(Pref(Location.UI, String::class, "PURPLE")), SkipExtensionIcons(Pref(Location.UI, Boolean::class, false)), - DarkMode(Pref(Location.UI, Boolean::class, true)), + DarkMode(Pref(Location.UI, Int::class, 0)), ShowYtButton(Pref(Location.UI, Boolean::class, true)), AnimeDefaultView(Pref(Location.UI, Int::class, 0)), MangaDefaultView(Pref(Location.UI, Int::class, 0)),