summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
diff options
context:
space:
mode:
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.kt36
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()
+ }
}