mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-23 04:16:50 +01:00
Ported: Fix directory access when the running app has the All files access permission
- m4gr3d
e2c7d3e6c0
This commit is contained in:
parent
464b0b5e08
commit
76f9237411
@ -76,6 +76,12 @@ internal enum class StorageScope {
|
||||
return UNKNOWN
|
||||
}
|
||||
|
||||
// If we have 'All Files Access' permission, we can access all directories without
|
||||
// restriction.
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && Environment.isExternalStorageManager()) {
|
||||
return APP
|
||||
}
|
||||
|
||||
val canonicalPathFile = pathFile.canonicalPath
|
||||
|
||||
if (internalAppDir != null && canonicalPathFile.startsWith(internalAppDir)) {
|
||||
@ -90,6 +96,11 @@ internal enum class StorageScope {
|
||||
return APP
|
||||
}
|
||||
|
||||
val rootDir: String? = System.getenv("ANDROID_ROOT")
|
||||
if (rootDir != null && canonicalPathFile.startsWith(rootDir)) {
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user