Merge "Tell vold about users sharing storage with each other."

This commit is contained in:
Martijn Coenen
2022-12-09 07:42:00 +00:00
committed by Gerrit Code Review

View File

@@ -897,7 +897,15 @@ class StorageManagerService extends IStorageManager.Stub
if (Intent.ACTION_USER_ADDED.equals(action)) { if (Intent.ACTION_USER_ADDED.equals(action)) {
final UserManager um = mContext.getSystemService(UserManager.class); final UserManager um = mContext.getSystemService(UserManager.class);
final int userSerialNumber = um.getUserSerialNumber(userId); final int userSerialNumber = um.getUserSerialNumber(userId);
mVold.onUserAdded(userId, userSerialNumber); final UserInfo userInfo = um.getUserInfo(userId);
if (userInfo.isCloneProfile()) {
// Only clone profiles share storage with their parent
mVold.onUserAdded(userId, userSerialNumber,
userInfo.profileGroupId /* sharesStorageWithUserId */);
} else {
mVold.onUserAdded(userId, userSerialNumber,
-1 /* shareStorageWithUserId */);
}
} else if (Intent.ACTION_USER_REMOVED.equals(action)) { } else if (Intent.ACTION_USER_REMOVED.equals(action)) {
synchronized (mVolumes) { synchronized (mVolumes) {
final int size = mVolumes.size(); final int size = mVolumes.size();
@@ -1146,7 +1154,11 @@ class StorageManagerService extends IStorageManager.Stub
// Tell vold about all existing and started users // Tell vold about all existing and started users
for (UserInfo user : users) { for (UserInfo user : users) {
mVold.onUserAdded(user.id, user.serialNumber); if (user.isCloneProfile()) {
mVold.onUserAdded(user.id, user.serialNumber, user.profileGroupId);
} else {
mVold.onUserAdded(user.id, user.serialNumber, -1);
}
} }
for (int userId : systemUnlockedUsers) { for (int userId : systemUnlockedUsers) {
mVold.onUserStarted(userId); mVold.onUserStarted(userId);