diff options
author | Risan <risan@google.com> | 2018-11-13 12:12:23 -0800 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-11-13 12:12:23 -0800 |
commit | f8771d362c0058d90f6c32a35cb15aa0b86f11f4 (patch) | |
tree | eb7541dfb7f5e0f7c8e9880a0209ac762c879dce /core/java/android | |
parent | f84f1fd2d9bcb7af7b777d237cf36e9185499e83 (diff) | |
parent | ee32e0d473a28437d214a577bcf2199059b9d98d (diff) |
Merge "Introducing StubVolume in StorageManager" am: b499af866c am: eb871cc916
am: ee32e0d473
Change-Id: I4098132df9833b7cbac0db9bdadac297d324a822
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/os/storage/StorageManager.java | 2 | ||||
-rw-r--r-- | core/java/android/os/storage/VolumeInfo.java | 12 |
2 files changed, 8 insertions, 6 deletions
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index 8a36a782750b..d679fc7e619a 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -801,7 +801,7 @@ public class StorageManager { try { for (VolumeInfo vol : mStorageManager.getVolumes(0)) { if (vol.path != null && FileUtils.contains(vol.path, pathString) - && vol.type != VolumeInfo.TYPE_PUBLIC) { + && vol.type != VolumeInfo.TYPE_PUBLIC && vol.type != VolumeInfo.TYPE_STUB) { // TODO: verify that emulated adopted devices have UUID of // underlying volume try { diff --git a/core/java/android/os/storage/VolumeInfo.java b/core/java/android/os/storage/VolumeInfo.java index e55afb69bab9..8c3aa1750acf 100644 --- a/core/java/android/os/storage/VolumeInfo.java +++ b/core/java/android/os/storage/VolumeInfo.java @@ -84,6 +84,7 @@ public class VolumeInfo implements Parcelable { public static final int TYPE_EMULATED = IVold.VOLUME_TYPE_EMULATED; public static final int TYPE_ASEC = IVold.VOLUME_TYPE_ASEC; public static final int TYPE_OBB = IVold.VOLUME_TYPE_OBB; + public static final int TYPE_STUB = IVold.VOLUME_TYPE_STUB; public static final int STATE_UNMOUNTED = IVold.VOLUME_STATE_UNMOUNTED; public static final int STATE_CHECKING = IVold.VOLUME_STATE_CHECKING; @@ -295,7 +296,7 @@ public class VolumeInfo implements Parcelable { } public boolean isVisibleForUser(int userId) { - if (type == TYPE_PUBLIC && mountUserId == userId) { + if ((type == TYPE_PUBLIC || type == TYPE_STUB) && mountUserId == userId) { return isVisible(); } else if (type == TYPE_EMULATED) { return isVisible(); @@ -327,7 +328,7 @@ public class VolumeInfo implements Parcelable { public File getPathForUser(int userId) { if (path == null) { return null; - } else if (type == TYPE_PUBLIC) { + } else if (type == TYPE_PUBLIC || type == TYPE_STUB) { return new File(path); } else if (type == TYPE_EMULATED) { return new File(path, Integer.toString(userId)); @@ -344,7 +345,7 @@ public class VolumeInfo implements Parcelable { public File getInternalPathForUser(int userId) { if (path == null) { return null; - } else if (type == TYPE_PUBLIC) { + } else if (type == TYPE_PUBLIC || type == TYPE_STUB) { // TODO: plumb through cleaner path from vold return new File(path.replace("/storage/", "/mnt/media_rw/")); } else { @@ -390,7 +391,7 @@ public class VolumeInfo implements Parcelable { removable = true; } - } else if (type == TYPE_PUBLIC) { + } else if (type == TYPE_PUBLIC || type == TYPE_STUB) { emulated = false; removable = true; @@ -447,7 +448,8 @@ public class VolumeInfo implements Parcelable { public @Nullable Intent buildBrowseIntentForUser(int userId) { final Uri uri; - if (type == VolumeInfo.TYPE_PUBLIC && mountUserId == userId) { + if ((type == VolumeInfo.TYPE_PUBLIC || type == VolumeInfo.TYPE_STUB) + && mountUserId == userId) { uri = DocumentsContract.buildRootUri(DOCUMENT_AUTHORITY, fsUuid); } else if (type == VolumeInfo.TYPE_EMULATED && isPrimary()) { uri = DocumentsContract.buildRootUri(DOCUMENT_AUTHORITY, |