aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt42
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt5
2 files changed, 20 insertions, 27 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt
index f66f4bac7f..4dcb35c010 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
@@ -68,7 +68,9 @@ class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener
MaterialAlertDialogBuilder(requireContext())
.setMessage(R.string.reset_setting_confirmation)
.setPositiveButton(android.R.string.ok) { _: DialogInterface, _: Int ->
- when (val item = settingsViewModel.clickedItem) {
+ val item = settingsViewModel.clickedItem ?: return@setPositiveButton
+ clearDialogState()
+ when (item) {
is AnalogInputSetting -> {
val stickParam = NativeInput.getStickParam(
item.playerIndex,
@@ -107,12 +109,17 @@ class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener
}
else -> {
- settingsViewModel.clickedItem!!.setting.reset()
+ item.setting.reset()
settingsViewModel.setAdapterItemChanged(position)
}
}
}
- .setNegativeButton(android.R.string.cancel, null)
+ .setNegativeButton(android.R.string.cancel) { _: DialogInterface, _: Int ->
+ clearDialogState()
+ }
+ .setOnCancelListener {
+ clearDialogState()
+ }
.create()
}
@@ -186,27 +193,6 @@ class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener
updateButtonState(isValid)
}
- /*
- * xbzk: these two events, along with attachRepeat feature,
- * were causing spinbox buttons to respond twice per press
- * cutting these out to retain accelerated press functionality
- * TODO: clean this out later if no issues arise
- *
- spinboxBinding.buttonDecrement.setOnClickListener {
- val current = spinboxBinding.editValue.text.toString().toIntOrNull() ?: currentValue
- val newValue = current - 1
- spinboxBinding.editValue.setText(newValue.toString())
- updateValidity(newValue)
- }
-
- spinboxBinding.buttonIncrement.setOnClickListener {
- val current = spinboxBinding.editValue.text.toString().toIntOrNull() ?: currentValue
- val newValue = current + 1
- spinboxBinding.editValue.setText(newValue.toString())
- updateValidity(newValue)
- }
- */
-
fun attachRepeat(button: View, delta: Int) {
val handler = Handler(Looper.getMainLooper())
var runnable: Runnable? = null
@@ -439,9 +425,13 @@ class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener
private fun closeDialog() {
settingsViewModel.setAdapterItemChanged(position)
+ clearDialogState()
+ dismiss()
+ }
+
+ private fun clearDialogState() {
settingsViewModel.clickedItem = null
settingsViewModel.setSliderProgress(-1f)
- dismiss()
}
private fun getValueForSingleChoiceSelection(item: SingleChoiceSetting, which: Int): Int {
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 0fc4fb0b7f..77104e0614 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
@@ -1066,7 +1066,10 @@ class SettingsFragmentPresenter(
IntSetting.THEME.getValueAsString()
override val defaultValue: Int = IntSetting.THEME.defaultValue
- override fun reset() = IntSetting.THEME.setInt(defaultValue)
+ override fun reset() {
+ IntSetting.THEME.setInt(defaultValue)
+ settingsViewModel.setShouldRecreate(true)
+ }
}
add(HeaderSetting(R.string.app_settings))