fix theme selection dialog to work with system theme also use system as new default
This commit is contained in:
parent
5cf4527a92
commit
2cb05de810
|
@ -18,7 +18,7 @@ object Preferences {
|
||||||
internal set
|
internal set
|
||||||
var devSettings = false
|
var devSettings = false
|
||||||
internal set
|
internal set
|
||||||
var theme = DataTypes.Theme.DARK
|
var theme = DataTypes.Theme.SYSTEM
|
||||||
internal set
|
internal set
|
||||||
|
|
||||||
// dev settings
|
// dev settings
|
||||||
|
@ -122,8 +122,8 @@ object Preferences {
|
||||||
)
|
)
|
||||||
theme = DataTypes.Theme.valueOf(
|
theme = DataTypes.Theme.valueOf(
|
||||||
sharedPref.getString(
|
sharedPref.getString(
|
||||||
context.getString(R.string.save_key_theme), DataTypes.Theme.DARK.toString()
|
context.getString(R.string.save_key_theme), DataTypes.Theme.SYSTEM.toString()
|
||||||
) ?: DataTypes.Theme.DARK.toString()
|
) ?: DataTypes.Theme.SYSTEM.toString()
|
||||||
)
|
)
|
||||||
|
|
||||||
// dev settings
|
// dev settings
|
||||||
|
|
|
@ -72,7 +72,6 @@ class MainActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListen
|
||||||
load() // start the initial loading
|
load() // start the initial loading
|
||||||
|
|
||||||
// theming
|
// 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) {
|
val mode = when (Preferences.theme) {
|
||||||
DataTypes.Theme.LIGHT -> AppCompatDelegate.MODE_NIGHT_NO
|
DataTypes.Theme.LIGHT -> AppCompatDelegate.MODE_NIGHT_NO
|
||||||
DataTypes.Theme.DARK -> AppCompatDelegate.MODE_NIGHT_YES
|
DataTypes.Theme.DARK -> AppCompatDelegate.MODE_NIGHT_YES
|
||||||
|
|
|
@ -68,8 +68,9 @@ class AccountFragment : Fragment() {
|
||||||
binding.switchSecondary.isChecked = Preferences.preferSubbed
|
binding.switchSecondary.isChecked = Preferences.preferSubbed
|
||||||
binding.switchAutoplay.isChecked = Preferences.autoplay
|
binding.switchAutoplay.isChecked = Preferences.autoplay
|
||||||
binding.textThemeSelected.text = when (Preferences.theme) {
|
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)
|
Theme.DARK -> getString(R.string.theme_dark)
|
||||||
else -> getString(R.string.theme_light)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.linearDevSettings.isVisible = Preferences.devSettings
|
binding.linearDevSettings.isVisible = Preferences.devSettings
|
||||||
|
@ -180,17 +181,19 @@ class AccountFragment : Fragment() {
|
||||||
|
|
||||||
private fun showThemeDialog() {
|
private fun showThemeDialog() {
|
||||||
val items = arrayOf(
|
val items = arrayOf(
|
||||||
|
resources.getString(R.string.theme_system),
|
||||||
resources.getString(R.string.theme_light),
|
resources.getString(R.string.theme_light),
|
||||||
resources.getString(R.string.theme_dark)
|
resources.getString(R.string.theme_dark)
|
||||||
)
|
)
|
||||||
|
|
||||||
MaterialAlertDialogBuilder(requireContext())
|
MaterialAlertDialogBuilder(requireContext())
|
||||||
.setTitle(R.string.settings_content_language)
|
.setTitle(R.string.theme)
|
||||||
.setSingleChoiceItems(items, Preferences.theme.ordinal){ _, which ->
|
.setSingleChoiceItems(items, Preferences.theme.ordinal){ _, which ->
|
||||||
when(which) {
|
when(which) {
|
||||||
0 -> Preferences.saveTheme(requireContext(), Theme.LIGHT)
|
0 -> Preferences.saveTheme(requireContext(), Theme.SYSTEM)
|
||||||
1 -> Preferences.saveTheme(requireContext(), Theme.DARK)
|
1 -> Preferences.saveTheme(requireContext(), Theme.LIGHT)
|
||||||
else -> Preferences.saveTheme(requireContext(), Theme.DARK)
|
2 -> Preferences.saveTheme(requireContext(), Theme.DARK)
|
||||||
|
else -> Preferences.saveTheme(requireContext(), Theme.SYSTEM)
|
||||||
}
|
}
|
||||||
|
|
||||||
(activity as MainActivity).restart()
|
(activity as MainActivity).restart()
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
<string name="theme">Design</string>
|
<string name="theme">Design</string>
|
||||||
<string name="theme_light">Hell</string>
|
<string name="theme_light">Hell</string>
|
||||||
<string name="theme_dark">Dunkel</string>
|
<string name="theme_dark">Dunkel</string>
|
||||||
|
<string name="theme_system">System</string>
|
||||||
<string name="dev_settings">Entwickler Einstellungen</string>
|
<string name="dev_settings">Entwickler Einstellungen</string>
|
||||||
<string name="update_playhead">Playhead Updates</string>
|
<string name="update_playhead">Playhead Updates</string>
|
||||||
<string name="update_playhead_desc">Fortschritt bei Episoden auf cr updaten</string>
|
<string name="update_playhead_desc">Fortschritt bei Episoden auf cr updaten</string>
|
||||||
|
|
|
@ -69,6 +69,7 @@
|
||||||
<string name="theme">Theme</string>
|
<string name="theme">Theme</string>
|
||||||
<string name="theme_light">Light</string>
|
<string name="theme_light">Light</string>
|
||||||
<string name="theme_dark">Dark</string>
|
<string name="theme_dark">Dark</string>
|
||||||
|
<string name="theme_system">System</string>
|
||||||
<string name="dev_settings">Developer Settings</string>
|
<string name="dev_settings">Developer Settings</string>
|
||||||
<string name="update_playhead">Playhead updates</string>
|
<string name="update_playhead">Playhead updates</string>
|
||||||
<string name="update_playhead_desc">Update episode playhead on cr</string>
|
<string name="update_playhead_desc">Update episode playhead on cr</string>
|
||||||
|
|
Loading…
Reference in New Issue