@@ -37,6 +37,8 @@ class ThemeSelectionDialog :
3737
3838 private lateinit var binding: DialogThemeSelectionBinding
3939
40+ private var selectedMode: DarkMode = DarkMode .SYSTEM
41+
4042 override fun onStart () {
4143 super .onStart()
4244 val alertDialog = dialog as AlertDialog
@@ -50,7 +52,7 @@ class ThemeSelectionDialog :
5052 override fun onCreateDialog (savedInstanceState : Bundle ? ): Dialog {
5153 binding = DialogThemeSelectionBinding .inflate(layoutInflater)
5254
53- val currentTheme = preferences.getDarkThemeMode() ? : DarkMode .SYSTEM
55+ selectedMode = preferences.getDarkThemeMode() ? : DarkMode .SYSTEM
5456 val radioGroup = binding.themeRadioGroup
5557
5658 viewThemeUtils.platform.run {
@@ -60,26 +62,25 @@ class ThemeSelectionDialog :
6062 themeRadioButton(binding.themeSystem)
6163 }
6264
63- when (currentTheme ) {
65+ when (selectedMode ) {
6466 DarkMode .LIGHT -> radioGroup.check(R .id.theme_light)
6567 DarkMode .DARK -> radioGroup.check(R .id.theme_dark)
6668 DarkMode .SYSTEM -> radioGroup.check(R .id.theme_system)
6769 }
6870
6971 radioGroup.setOnCheckedChangeListener { _, checkedId ->
70- val selectedMode = when (checkedId) {
72+ selectedMode = when (checkedId) {
7173 R .id.theme_light -> DarkMode .LIGHT
7274 R .id.theme_dark -> DarkMode .DARK
7375 R .id.theme_system -> DarkMode .SYSTEM
7476 else -> DarkMode .SYSTEM
7577 }
76-
77- applyTheme(selectedMode)
7878 }
7979
8080 val builder = MaterialAlertDialogBuilder (requireContext())
8181 .setView(binding.root)
8282 .setPositiveButton(R .string.common_ok) { _, _ ->
83+ applyTheme(selectedMode)
8384 dismiss()
8485 }
8586
0 commit comments