From a96d835286ee9b1d6986ca21cd0421d9da96446a Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Tue, 4 Apr 2023 13:22:38 -0400 Subject: [PATCH] android: Use apply instead of commit for shared preferences Previously we were operating on the assumption that apply'd settings wouldn't be visible immediately. This isn't true and settings will be accessible via memory before being stored to disk. This reduces any potential stutters caused by saving to shared preferences. --- .../main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt | 2 +- .../src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt | 3 +-- .../main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt index c7e44a0fbc..8e94fd1dbc 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt @@ -249,7 +249,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { ) { _, indexSelected, isChecked -> preferences.edit() .putBoolean("buttonToggle$indexSelected", isChecked) - .commit() + .apply() } .setPositiveButton(android.R.string.ok) { _, _ -> refreshInputOverlay() diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt index 7bff0a9cd4..9b27ff1e36 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt @@ -758,8 +758,7 @@ class InputOverlay(context: Context, attrs: AttributeSet?) : SurfaceView(context ButtonType.STICK_L.toString() + "-Y", resources.getInteger(R.integer.SWITCH_STICK_L_Y).toFloat() / 1000 * maxY + minY ) - .commit() - // We want to commit right away, otherwise the overlay could load before this is saved. + .apply() } override fun isInEditMode(): Boolean { diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt index 021698d15a..27dbfb9eb7 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt @@ -57,6 +57,6 @@ object EmulationMenuSettings { set(value) { preferences.edit() .putBoolean(Settings.PREF_MENU_SETTINGS_SHOW_OVERLAY, value) - .commit() + .apply() } }