summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorMarcel Alexandru Nitan <nitan.marcel@protonmail.com>2023-06-13 18:44:27 +0000
committerMarcel Alexandru Nitan <nitan.marcel@protonmail.com>2023-06-13 18:44:27 +0000
commitcff7a4bfd2192726271d62f8c0144edc67396332 (patch)
tree71708fe7f1c96aa361fdfb21572e72630848e7d9 /Source/Android/app/src/main/java
parent4e4705e98345fdf474a58a2e16bf78e1740cfbb3 (diff)
Use getCacheDir if getExternalCacheDir returns null.
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/DirectoryInitialization.java9
2 files changed, 9 insertions, 2 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java
index 68fdfee277..b83a489256 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java
@@ -297,6 +297,8 @@ public final class NativeLibrary
public static native void SetCacheDirectory(String directory);
+ public static native String GetCacheDirectory();
+
public static native int DefaultCPUCore();
public static native String GetDefaultGraphicsBackendName();
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/DirectoryInitialization.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/DirectoryInitialization.java
index d5b34f21da..15d226afd4 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/DirectoryInitialization.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/DirectoryInitialization.java
@@ -122,7 +122,12 @@ public final class DirectoryInitialization
File cacheDir = context.getExternalCacheDir();
if (cacheDir == null)
- return false;
+ {
+ // In some custom ROMs getExternalCacheDir might return null for some reasons. If that is the case, fallback to getCacheDir which seems to work just fine.
+ cacheDir = context.getCacheDir();
+ if (cacheDir == null)
+ return false;
+ }
Log.debug("[DirectoryInitialization] Cache Dir: " + cacheDir.getPath());
NativeLibrary.SetCacheDirectory(cacheDir.getPath());
@@ -236,7 +241,7 @@ public final class DirectoryInitialization
public static File getGameListCache(Context context)
{
- return new File(context.getExternalCacheDir(), "gamelist.cache");
+ return new File(NativeLibrary.GetCacheDirectory(), "gamelist.cache");
}
private static boolean copyAsset(String asset, File output, Context context)