From c3be0495719104fa0bc7a450aac1a6ae5d4711b9 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 26 Jul 2025 19:48:52 +0200 Subject: Android: Don't let RetroAchievements override onPause When Android sends Dolphin to the background, emulation *must* pause, otherwise emulation continues running and continues outputting audio to the user. RetroAchievements mustn't be allowed to override it. --- .../app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java | 2 +- .../main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt | 2 +- .../main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'Source/Android/app/src/main/java') diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java index e9ab837619..69b9a94595 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java @@ -362,7 +362,7 @@ public final class NativeLibrary /** * Pauses emulation. */ - public static native void PauseEmulation(); + public static native void PauseEmulation(boolean overrideAchievementRestrictions); /** * Stops emulation. diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt index 112b780df0..b743328920 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt @@ -455,7 +455,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider { MENU_ACTION_REFRESH_WIIMOTES -> NativeLibrary.RefreshWiimotes() MENU_ACTION_PAUSE_EMULATION -> { hasUserPausedEmulation = true - NativeLibrary.PauseEmulation() + NativeLibrary.PauseEmulation(false) } MENU_ACTION_UNPAUSE_EMULATION -> { diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt index eeb223c3db..04db24c03a 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt @@ -109,7 +109,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { override fun onPause() { if (NativeLibrary.IsRunningAndUnpaused() && !NativeLibrary.IsShowingAlertMessage()) { Log.debug("[EmulationFragment] Pausing emulation.") - NativeLibrary.PauseEmulation() + NativeLibrary.PauseEmulation(true) } super.onPause() } -- cgit v1.2.3