migrate to material 3 #70
| @ -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> | ||||
|  | ||||
		Reference in New Issue
	
	Block a user