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
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
<string name="theme">Design</string>
|
||||
<string name="theme_light">Hell</string>
|
||||
<string name="theme_dark">Dunkel</string>
|
||||
<string name="theme_system">System</string>
|
||||
<string name="dev_settings">Entwickler Einstellungen</string>
|
||||
<string name="update_playhead">Playhead Updates</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_light">Light</string>
|
||||
<string name="theme_dark">Dark</string>
|
||||
<string name="theme_system">System</string>
|
||||
<string name="dev_settings">Developer Settings</string>
|
||||
<string name="update_playhead">Playhead updates</string>
|
||||
<string name="update_playhead_desc">Update episode playhead on cr</string>
|
||||
|
|
Loading…
Reference in New Issue