From 2cb05de810854bf335a806d4f2663155973673d0 Mon Sep 17 00:00:00 2001 From: Jannik Date: Sat, 15 Apr 2023 22:48:59 +0200 Subject: [PATCH] fix theme selection dialog to work with system theme also use system as new default --- .../org/mosad/teapod/preferences/Preferences.kt | 6 +++--- .../mosad/teapod/ui/activity/main/MainActivity.kt | 1 - .../ui/activity/main/fragments/AccountFragment.kt | 13 ++++++++----- app/src/main/res/values-de-rDE/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/mosad/teapod/preferences/Preferences.kt b/app/src/main/java/org/mosad/teapod/preferences/Preferences.kt index 197e80f..2bb3963 100644 --- a/app/src/main/java/org/mosad/teapod/preferences/Preferences.kt +++ b/app/src/main/java/org/mosad/teapod/preferences/Preferences.kt @@ -18,7 +18,7 @@ object Preferences { internal set var devSettings = false internal set - var theme = DataTypes.Theme.DARK + var theme = DataTypes.Theme.SYSTEM internal set // dev settings @@ -122,8 +122,8 @@ object Preferences { ) theme = DataTypes.Theme.valueOf( sharedPref.getString( - context.getString(R.string.save_key_theme), DataTypes.Theme.DARK.toString() - ) ?: DataTypes.Theme.DARK.toString() + context.getString(R.string.save_key_theme), DataTypes.Theme.SYSTEM.toString() + ) ?: DataTypes.Theme.SYSTEM.toString() ) // dev settings diff --git a/app/src/main/java/org/mosad/teapod/ui/activity/main/MainActivity.kt b/app/src/main/java/org/mosad/teapod/ui/activity/main/MainActivity.kt index 1463a57..0144b60 100644 --- a/app/src/main/java/org/mosad/teapod/ui/activity/main/MainActivity.kt +++ b/app/src/main/java/org/mosad/teapod/ui/activity/main/MainActivity.kt @@ -72,7 +72,6 @@ class MainActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListen load() // start the initial loading // theming - // theme.applyStyle(R.style.AppTheme_DayNight, true) // TODO I think this must be removed for system settings to work val mode = when (Preferences.theme) { DataTypes.Theme.LIGHT -> AppCompatDelegate.MODE_NIGHT_NO DataTypes.Theme.DARK -> AppCompatDelegate.MODE_NIGHT_YES diff --git a/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/AccountFragment.kt b/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/AccountFragment.kt index 746880f..e04866a 100644 --- a/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/AccountFragment.kt +++ b/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/AccountFragment.kt @@ -68,8 +68,9 @@ class AccountFragment : Fragment() { binding.switchSecondary.isChecked = Preferences.preferSubbed binding.switchAutoplay.isChecked = Preferences.autoplay binding.textThemeSelected.text = when (Preferences.theme) { + Theme.SYSTEM -> getString(R.string.theme_system) + Theme.LIGHT -> getString(R.string.theme_light) Theme.DARK -> getString(R.string.theme_dark) - else -> getString(R.string.theme_light) } binding.linearDevSettings.isVisible = Preferences.devSettings @@ -180,17 +181,19 @@ class AccountFragment : Fragment() { private fun showThemeDialog() { val items = arrayOf( + resources.getString(R.string.theme_system), resources.getString(R.string.theme_light), resources.getString(R.string.theme_dark) ) MaterialAlertDialogBuilder(requireContext()) - .setTitle(R.string.settings_content_language) + .setTitle(R.string.theme) .setSingleChoiceItems(items, Preferences.theme.ordinal){ _, which -> when(which) { - 0 -> Preferences.saveTheme(requireContext(), Theme.LIGHT) - 1 -> Preferences.saveTheme(requireContext(), Theme.DARK) - else -> Preferences.saveTheme(requireContext(), Theme.DARK) + 0 -> Preferences.saveTheme(requireContext(), Theme.SYSTEM) + 1 -> Preferences.saveTheme(requireContext(), Theme.LIGHT) + 2 -> Preferences.saveTheme(requireContext(), Theme.DARK) + else -> Preferences.saveTheme(requireContext(), Theme.SYSTEM) } (activity as MainActivity).restart() diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index f746a36..a724423 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -55,6 +55,7 @@ Design Hell Dunkel + System Entwickler Einstellungen Playhead Updates Fortschritt bei Episoden auf cr updaten diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 15a55d9..a6896bb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -69,6 +69,7 @@ Theme Light Dark + System Developer Settings Playhead updates Update episode playhead on cr