diff --git a/app/src/main/java/com/michatec/radio/dialogs/ThemeSelectionDialog.kt b/app/src/main/java/com/michatec/radio/dialogs/ThemeSelectionDialog.kt index 436a4f3..3605508 100644 --- a/app/src/main/java/com/michatec/radio/dialogs/ThemeSelectionDialog.kt +++ b/app/src/main/java/com/michatec/radio/dialogs/ThemeSelectionDialog.kt @@ -8,6 +8,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.michatec.radio.Keys import com.michatec.radio.R import com.michatec.radio.helpers.AppThemeHelper +import com.michatec.radio.helpers.PreferencesHelper /* @@ -85,10 +86,10 @@ class ThemeSelectionDialog(private var themeSelectionDialogListener: ThemeSelect R.id.radio_theme_dark -> Keys.STATE_THEME_DARK_MODE else -> Keys.STATE_THEME_FOLLOW_SYSTEM } + // save theme selection to preferences + PreferencesHelper.saveThemeSelection(selectedTheme) // apply theme immediately AppThemeHelper.setTheme(selectedTheme) - // update radio buttons to reflect new theme - updateRadioButtons(context, radioFollowSystem, radioLight, radioDark) // notify listener themeSelectionDialogListener.onThemeSelectionDialog(true, selectedTheme) // dismiss dialog diff --git a/app/src/main/java/com/michatec/radio/helpers/PreferencesHelper.kt b/app/src/main/java/com/michatec/radio/helpers/PreferencesHelper.kt index b36f409..9733291 100644 --- a/app/src/main/java/com/michatec/radio/helpers/PreferencesHelper.kt +++ b/app/src/main/java/com/michatec/radio/helpers/PreferencesHelper.kt @@ -223,6 +223,14 @@ object PreferencesHelper { } + /* Save currently selected app theme */ + fun saveThemeSelection(theme: String) { + sharedPreferences.edit { + putString(Keys.PREF_THEME_SELECTION, theme) + } + } + + /* Loads value of the option: Edit Stations */ fun loadEditStationsEnabled(context: Context): Boolean { val defaultValue = !context.packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK)