summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-01-18 16:47:37 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-01-18 16:47:37 +0000
commit7ad1ba1f28cce33f01530e3c36c4de8443462aeb (patch)
treeee5cfa3539a9bd72abfe5f46aea003c6b254bf82
parent0d8fac26130e694e7a1ed3b3bb9b82323218b006 (diff)
parent4fa18d699560183eb7cba91f030a3ed3b2669ba8 (diff)
Merge "Merge "Add MOUNT_FLAG_VISIBLE to visible stub volumes" am: d8e3e07264 am: eba787f7a5 am: 8187197857"
-rw-r--r--core/java/android/os/storage/DiskInfo.java6
-rw-r--r--services/core/java/com/android/server/StorageManagerService.java3
2 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/os/storage/DiskInfo.java b/core/java/android/os/storage/DiskInfo.java
index 67317c7b2224..d32928cbeb38 100644
--- a/core/java/android/os/storage/DiskInfo.java
+++ b/core/java/android/os/storage/DiskInfo.java
@@ -50,6 +50,8 @@ public class DiskInfo implements Parcelable {
public static final int FLAG_DEFAULT_PRIMARY = 1 << 1;
public static final int FLAG_SD = 1 << 2;
public static final int FLAG_USB = 1 << 3;
+ /** The FLAG_STUB_VISIBLE is set from vold, which gets the flag from outside (e.g., ChromeOS) */
+ public static final int FLAG_STUB_VISIBLE = 1 << 6;
public final String id;
@UnsupportedAppUsage
@@ -152,6 +154,10 @@ public class DiskInfo implements Parcelable {
return (flags & FLAG_USB) != 0;
}
+ public boolean isStubVisible() {
+ return (flags & FLAG_STUB_VISIBLE) != 0;
+ }
+
@Override
public String toString() {
final CharArrayWriter writer = new CharArrayWriter();
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index c951fd438b78..d21182bb91be 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -1442,6 +1442,9 @@ class StorageManagerService extends IStorageManager.Stub
mHandler.obtainMessage(H_VOLUME_MOUNT, vol).sendToTarget();
} else if (vol.type == VolumeInfo.TYPE_STUB) {
+ if (vol.disk.isStubVisible()) {
+ vol.mountFlags |= VolumeInfo.MOUNT_FLAG_VISIBLE;
+ }
vol.mountUserId = mCurrentUserId;
mHandler.obtainMessage(H_VOLUME_MOUNT, vol).sendToTarget();
} else {