summaryrefslogtreecommitdiff
path: root/Source/Android
diff options
context:
space:
mode:
authorMai <mai.iam2048@gmail.com>2023-12-05 03:10:41 -0500
committerGitHub <noreply@github.com>2023-12-05 03:10:41 -0500
commit2199dd26bbc068a2962227d80cc645adfa4be712 (patch)
tree992a6d2328d419c94f3f40ccb3ffd477a65b36bc /Source/Android
parentbf415f9b545dce7cbb4dea6c08bf24915a3f9b46 (diff)
parent4b91bf48f5ab827d8c694b0e6ce4d8947410072a (diff)
Merge pull request #12345 from minhaferzz/startup-handler
Android: Fix issue when launching a game when Dolphin is not open
Diffstat (limited to 'Source/Android')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt15
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/StartupHandler.java3
2 files changed, 10 insertions, 8 deletions
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 def62eb7ec..47921ce401 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
@@ -1066,16 +1066,16 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
}
@JvmStatic
- fun launch(activity: FragmentActivity, filePaths: Array<String>, riivolution: Boolean) {
+ fun launch(activity: FragmentActivity, filePaths: Array<String>, riivolution: Boolean, fromIntent: Boolean = false) {
if (ignoreLaunchRequests)
return
- performLaunchChecks(activity) { launchWithoutChecks(activity, filePaths, riivolution) }
+ performLaunchChecks(activity, fromIntent) { launchWithoutChecks(activity, filePaths, riivolution) }
}
@JvmStatic
- fun launch(activity: FragmentActivity, filePath: String, riivolution: Boolean) =
- launch(activity, arrayOf(filePath), riivolution)
+ fun launch(activity: FragmentActivity, filePath: String, riivolution: Boolean, fromIntent: Boolean = false) =
+ launch(activity, arrayOf(filePath), riivolution, fromIntent)
private fun launchWithoutChecks(
activity: FragmentActivity,
@@ -1089,8 +1089,11 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
activity.startActivity(launcher)
}
- private fun performLaunchChecks(activity: FragmentActivity, continueCallback: Runnable) {
+ private fun performLaunchChecks(activity: FragmentActivity, fromIntent: Boolean, continueCallback: Runnable) {
AfterDirectoryInitializationRunner().runWithLifecycle(activity) {
+ if (fromIntent) {
+ activity.finish()
+ }
if (!FileBrowserHelper.isPathEmptyOrValid(StringSetting.MAIN_DEFAULT_ISO) ||
!FileBrowserHelper.isPathEmptyOrValid(StringSetting.MAIN_FS_PATH) ||
!FileBrowserHelper.isPathEmptyOrValid(StringSetting.MAIN_DUMP_PATH) ||
@@ -1129,7 +1132,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
if (ignoreLaunchRequests)
return
- performLaunchChecks(activity) { launchSystemMenuWithoutChecks(activity) }
+ performLaunchChecks(activity, false) { launchSystemMenuWithoutChecks(activity) }
}
private fun launchSystemMenuWithoutChecks(activity: FragmentActivity) {
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/StartupHandler.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/StartupHandler.java
index 1cb332636e..63b8657f83 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/StartupHandler.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/StartupHandler.java
@@ -37,8 +37,7 @@ public final class StartupHandler
if (gamesToLaunch != null && gamesToLaunch.length > 0)
{
// Start the emulation activity, send the ISO passed in and finish the main activity
- EmulationActivity.launch(parent, gamesToLaunch, false);
- parent.finish();
+ EmulationActivity.launch(parent, gamesToLaunch, false, true);
}
}