summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2017-12-24 16:44:43 +0100
committerJosJuice <josjuice@gmail.com>2017-12-26 09:53:44 +0100
commit152f7fa35c0647f5203bf644959291bbaebd0f3c (patch)
treea2e2fc3766e586ca891a7631d37440cabba7a9fd /Source/Android/app/src/main/java
parent3262314435bb394d27aa3e1f490905e6868e4203 (diff)
Android: Fix race condition with writing files before setting User path
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/StartupHandler.java40
1 files changed, 19 insertions, 21 deletions
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 398f569741..11cdf861c6 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
@@ -13,33 +13,31 @@ public final class StartupHandler
{
public static boolean HandleInit(FragmentActivity parent)
{
- NativeLibrary.SetUserDirectory(""); // Auto-Detect
+ String user_dir = "";
+ String start_file = "";
- if (PermissionsHandler.checkWritePermission(parent)) {
- DirectoryInitializationService.startService(parent);
+ Bundle extras = parent.getIntent().getExtras();
+ if (extras != null)
+ {
+ user_dir = extras.getString("UserDir");
+ start_file = extras.getString("AutoStartFile");
}
- Intent intent = parent.getIntent();
- Bundle extras = intent.getExtras();
+ NativeLibrary.SetUserDirectory(user_dir); // Uses default path if user_dir equals ""
- if (extras != null)
+ if (PermissionsHandler.checkWritePermission(parent))
+ DirectoryInitializationService.startService(parent);
+
+ if (!TextUtils.isEmpty(start_file))
{
- String user_dir = extras.getString("UserDir");
- String start_file = extras.getString("AutoStartFile");
-
- if (!TextUtils.isEmpty(user_dir))
- NativeLibrary.SetUserDirectory(user_dir);
-
- if (!TextUtils.isEmpty(start_file))
- {
- // Start the emulation activity, send the ISO passed in and finish the main activity
- Intent emulation_intent = new Intent(parent, EmulationActivity.class);
- emulation_intent.putExtra("SelectedGame", start_file);
- parent.startActivity(emulation_intent);
- parent.finish();
- return false;
- }
+ // Start the emulation activity, send the ISO passed in and finish the main activity
+ Intent emulation_intent = new Intent(parent, EmulationActivity.class);
+ emulation_intent.putExtra("SelectedGame", start_file);
+ parent.startActivity(emulation_intent);
+ parent.finish();
+ return false;
}
+
return false;
}
}