diff --git a/platform/android/java/lib/src/main/java/org/godotengine/godot/io/StorageScope.kt b/platform/android/java/lib/src/main/java/org/godotengine/godot/io/StorageScope.kt index 6712d68cb0c..ca1cc96b276 100644 --- a/platform/android/java/lib/src/main/java/org/godotengine/godot/io/StorageScope.kt +++ b/platform/android/java/lib/src/main/java/org/godotengine/godot/io/StorageScope.kt @@ -77,6 +77,7 @@ internal enum class StorageScope { private val internalAppDir: String? = context.filesDir.canonicalPath private val internalCacheDir: String? = context.cacheDir.canonicalPath private val externalAppDir: String? = context.getExternalFilesDir(null)?.canonicalPath + private val obbDir: String? = context.obbDir.canonicalPath private val sharedDir : String? = Environment.getExternalStorageDirectory().canonicalPath private val downloadsSharedDir: String? = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).canonicalPath private val documentsSharedDir: String? = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS).canonicalPath @@ -140,6 +141,10 @@ internal enum class StorageScope { return APP } + if (obbDir != null && canonicalPathFile.startsWith(obbDir)) { + return APP + } + if (sharedDir != null && canonicalPathFile.startsWith(sharedDir)) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) { // Before R, apps had access to shared storage so long as they have the right