summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hughes <stephenhughes@google.com>2020-02-01 23:41:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-02-01 23:41:23 +0000
commit2aecf81330ba2ca555a1f4cb56baa8e06a60bd6f (patch)
treee1c309ee6ca5a66d28b5371fcafa6b77626e0dd1
parente55cd0e21bdfad242f0b0c22c64dec09f5ff012c (diff)
parent4827cdf3de1bd83ef5b0abfd1d0dda552253cb20 (diff)
Merge "Allow access to all USB directories through SAF."
-rw-r--r--packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
index ec445d4dcbee..38cf5ab9afe6 100644
--- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
@@ -318,6 +318,16 @@ public class ExternalStorageProvider extends FileSystemProvider {
return false;
}
+ // Allow all directories on USB, including the root.
+ try {
+ RootInfo rootInfo = getRootFromDocId(docId);
+ if ((rootInfo.flags & Root.FLAG_REMOVABLE_USB) == Root.FLAG_REMOVABLE_USB) {
+ return false;
+ }
+ } catch (FileNotFoundException e) {
+ Log.e(TAG, "Failed to determine rootInfo for docId");
+ }
+
final String path = getPathFromDocId(docId);
// Block the root of the storage