summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorLeo Lam <leolino.lam@gmail.com>2017-12-28 20:45:10 +0100
committerGitHub <noreply@github.com>2017-12-28 20:45:10 +0100
commit257da9980ed0dd1fe363ef81a511a49dd6cd97c1 (patch)
treed3aeb263f30bbb17c270ab3debd0196ffe9297f3 /Source/Android/app/src/main/java
parent1df69c57507dbeea638eceac1c7410b737f1739c (diff)
parentb921f6cdefe9b05359a885e790ed860b4eaf256f (diff)
Merge pull request #6275 from JosJuice/android-reliable-init
Android: Always run HandleInit logic on app start
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java7
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java1
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/StartupHandler.java20
3 files changed, 11 insertions, 17 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java
index e0eb5e5415..6c2e3be39d 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/DolphinApplication.java
@@ -3,6 +3,8 @@ package org.dolphinemu.dolphinemu;
import android.app.Application;
import org.dolphinemu.dolphinemu.model.GameDatabase;
+import org.dolphinemu.dolphinemu.services.DirectoryInitializationService;
+import org.dolphinemu.dolphinemu.utils.PermissionsHandler;
public class DolphinApplication extends Application
{
@@ -13,6 +15,11 @@ public class DolphinApplication extends Application
{
super.onCreate();
+ NativeLibrary.SetUserDirectory(""); // Empty string means use the default path
+
+ if (PermissionsHandler.hasWriteAccess(getApplicationContext()))
+ DirectoryInitializationService.startService(getApplicationContext());
+
databaseHelper = new GameDatabase(this);
}
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java
index 72a9477f00..1f46f8eecb 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.java
@@ -58,7 +58,6 @@ public final class MainActivity extends AppCompatActivity implements MainView
mPresenter.onCreate();
// Stuff in this block only happens when this activity is newly created (i.e. not a rotation)
- // TODO Split some of this stuff into Application.onCreate()
if (savedInstanceState == null)
StartupHandler.HandleInit(this);
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 11cdf861c6..1be60cd21f 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
@@ -5,28 +5,19 @@ import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.text.TextUtils;
-import org.dolphinemu.dolphinemu.NativeLibrary;
import org.dolphinemu.dolphinemu.activities.EmulationActivity;
-import org.dolphinemu.dolphinemu.services.DirectoryInitializationService;
public final class StartupHandler
{
- public static boolean HandleInit(FragmentActivity parent)
+ public static void HandleInit(FragmentActivity parent)
{
- String user_dir = "";
- String start_file = "";
+ // Ask the user to grant write permission if it's not already granted
+ PermissionsHandler.checkWritePermission(parent);
+ String start_file = "";
Bundle extras = parent.getIntent().getExtras();
if (extras != null)
- {
- user_dir = extras.getString("UserDir");
start_file = extras.getString("AutoStartFile");
- }
-
- NativeLibrary.SetUserDirectory(user_dir); // Uses default path if user_dir equals ""
-
- if (PermissionsHandler.checkWritePermission(parent))
- DirectoryInitializationService.startService(parent);
if (!TextUtils.isEmpty(start_file))
{
@@ -35,9 +26,6 @@ public final class StartupHandler
emulation_intent.putExtra("SelectedGame", start_file);
parent.startActivity(emulation_intent);
parent.finish();
- return false;
}
-
- return false;
}
}