diff options
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt')
-rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt index d36afa932..dda44376c 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -6,8 +6,8 @@ package org.yuzu.yuzu_emu.features.settings.ui import android.content.SharedPreferences import android.os.Build import android.text.TextUtils -import androidx.appcompat.app.AppCompatActivity import androidx.preference.PreferenceManager +import com.google.android.material.dialog.MaterialAlertDialogBuilder import org.yuzu.yuzu_emu.R import org.yuzu.yuzu_emu.YuzuApplication import org.yuzu.yuzu_emu.features.settings.model.AbstractBooleanSetting @@ -26,7 +26,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) private lateinit var gameId: String private var settingsList: ArrayList<SettingsItem>? = null - private val settingsActivity get() = fragmentView.activityView as AppCompatActivity + private val settingsActivity get() = fragmentView.activityView as SettingsActivity private val settings get() = fragmentView.activityView!!.settings private lateinit var preferences: SharedPreferences @@ -111,6 +111,12 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) Settings.SECTION_AUDIO ) ) + add( + RunnableSetting( + R.string.reset_to_default, + 0 + ) { resetSettings() } + ) } } @@ -338,7 +344,9 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) override var int: Int get() = preferences.getInt(Settings.PREF_THEME, 0) set(value) { - preferences.edit().putInt(Settings.PREF_THEME, value).apply() + preferences.edit() + .putInt(Settings.PREF_THEME, value) + .apply() settingsActivity.recreate() } override val key: String? = null @@ -375,7 +383,9 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) override var int: Int get() = preferences.getInt(Settings.PREF_THEME_MODE, -1) set(value) { - preferences.edit().putInt(Settings.PREF_THEME_MODE, value).apply() + preferences.edit() + .putInt(Settings.PREF_THEME_MODE, value) + .apply() ThemeHelper.setThemeMode(settingsActivity) } override val key: String? = null @@ -400,14 +410,17 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) override var boolean: Boolean get() = preferences.getBoolean(Settings.PREF_BLACK_BACKGROUNDS, false) set(value) { - preferences.edit().putBoolean(Settings.PREF_BLACK_BACKGROUNDS, value).apply() + preferences.edit() + .putBoolean(Settings.PREF_BLACK_BACKGROUNDS, value) + .apply() settingsActivity.recreate() } override val key: String? = null override val section: String? = null override val isRuntimeEditable: Boolean = false override val valueAsString: String - get() = preferences.getBoolean(Settings.PREF_BLACK_BACKGROUNDS, false).toString() + get() = preferences.getBoolean(Settings.PREF_BLACK_BACKGROUNDS, false) + .toString() override val defaultValue: Any = false } @@ -420,4 +433,15 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) ) } } + + private fun resetSettings() { + MaterialAlertDialogBuilder(settingsActivity) + .setTitle(R.string.reset_all_settings) + .setMessage(R.string.reset_all_settings_description) + .setPositiveButton(android.R.string.ok) { _, _ -> + settingsActivity.onSettingsReset() + } + .setNegativeButton(android.R.string.cancel, null) + .show() + } } |