Merge "Avoid skipping creation of emulated volume for cloned profile user"

This commit is contained in:
Himanshu Dagar
2021-09-30 10:06:44 +00:00
committed by Android (Google) Code Review

View File

@@ -1544,7 +1544,18 @@ class StorageManagerService extends IStorageManager.Stub
}
if (vol.type == VolumeInfo.TYPE_EMULATED) {
if (!mStorageSessionController.supportsExternalStorage(vol.mountUserId)) {
final Context volumeUserContext = mContext.createContextAsUser(
UserHandle.of(vol.mountUserId), 0);
boolean isMediaSharedWithParent =
(volumeUserContext != null) ? volumeUserContext.getSystemService(
UserManager.class).isMediaSharedWithParent() : false;
// For all the users where media is shared with parent, creation of emulated volume
// should not be skipped even if media provider instance is not running in that user
// space
if (!isMediaSharedWithParent
&& !mStorageSessionController.supportsExternalStorage(vol.mountUserId)) {
Slog.d(TAG, "Ignoring volume " + vol.getId() + " because user "
+ Integer.toString(vol.mountUserId)
+ " does not support external storage.");