Browse Source

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.
nce_cpp
Charles Lombardo 3 years ago
committed by bunnei
parent
commit
61346cfe43
  1. 2
      src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt
  2. 3
      src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt
  3. 2
      src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt

2
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()

3
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 {

2
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()
}
}
Loading…
Cancel
Save