summaryrefslogtreecommitdiff
path: root/packages/ExternalStorageProvider
diff options
context:
space:
mode:
authorStephen Hughes <stephenhughes@google.com>2020-01-15 13:03:56 -0800
committerStephen Hughes <stephenhughes@google.com>2020-01-15 13:03:56 -0800
commit4827cdf3de1bd83ef5b0abfd1d0dda552253cb20 (patch)
tree947d16888abe4be28b6c3fc19f5cd2f67b822f16 /packages/ExternalStorageProvider
parent8d8f3a07f7f923b37b0359e66eb789ae4463a16e (diff)
Allow access to all USB directories through SAF.
Test: Manual Bug: 147755862 Change-Id: I3b9c386a8015a8254ec4ee0b1dc9b18546971891
Diffstat (limited to 'packages/ExternalStorageProvider')
-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 1e19786f5d41..3bbf0c09b48e 100644
--- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
@@ -319,6 +319,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