diff options
| author | Ryan Meredith <rwm@udel.edu> | 2020-06-16 11:52:58 -0400 |
|---|---|---|
| committer | Ryan Meredith <rwm@udel.edu> | 2020-06-16 11:52:58 -0400 |
| commit | 1e6925e423bd4978773713eb4e7e095a88590adf (patch) | |
| tree | 63d2791013132fb5e18ee7278f6fd7b8a83fa0d1 /Source/Android/app/src/main/java | |
| parent | 4c64e18b244e8995f68d4166fc7d89afc0004a17 (diff) | |
Android: Disallow multiple launcher activities
Diffstat (limited to 'Source/Android/app/src/main/java')
2 files changed, 17 insertions, 0 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java index 79afa4f81f..0b25387375 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java @@ -73,6 +73,7 @@ public final class EmulationActivity extends AppCompatActivity private boolean mDeviceHasTouchScreen; private boolean mMenuVisible; + private static boolean sIgnoreLaunchRequests = false; private static boolean sIsGameCubeGame; private boolean activityRecreated; @@ -196,6 +197,11 @@ public final class EmulationActivity extends AppCompatActivity public static void launch(FragmentActivity activity, GameFile gameFile) { + if (sIgnoreLaunchRequests) + return; + + sIgnoreLaunchRequests = true; + Intent launcher = new Intent(activity, EmulationActivity.class); launcher.putExtra(EXTRA_SELECTED_GAMES, scanForSecondDisc(gameFile)); @@ -207,6 +213,11 @@ public final class EmulationActivity extends AppCompatActivity public static void launchFile(FragmentActivity activity, String[] filePaths) { + if (sIgnoreLaunchRequests) + return; + + sIgnoreLaunchRequests = true; + Intent launcher = new Intent(activity, EmulationActivity.class); launcher.putExtra(EXTRA_SELECTED_GAMES, filePaths); @@ -237,6 +248,11 @@ public final class EmulationActivity extends AppCompatActivity activity.startActivity(launcher); } + public static void stopIgnoringLaunchRequests() + { + sIgnoreLaunchRequests = false; + } + public static void clearWiimoteNewIniLinkedPreferences(Context context) { SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit(); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java index ebb4dd48ef..0315a9e133 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.java @@ -411,6 +411,7 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C Log.debug("[EmulationFragment] Starting emulation thread."); NativeLibrary.Run(mGamePaths); } + EmulationActivity.stopIgnoringLaunchRequests(); }, "NativeEmulation"); emulationThread.start(); } |
