diff options
| author | JosJuice <josjuice@gmail.com> | 2017-12-24 16:44:43 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2017-12-26 09:53:44 +0100 |
| commit | 152f7fa35c0647f5203bf644959291bbaebd0f3c (patch) | |
| tree | a2e2fc3766e586ca891a7631d37440cabba7a9fd /Source/Android/app/src/main/java | |
| parent | 3262314435bb394d27aa3e1f490905e6868e4203 (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.java | 40 |
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; } } |
