Merge "Fix settings crash by removing potential deadlock in setDefaultGuestRestrictions" into udc-qpr-dev am: 36680dc631

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23878891

Change-Id: I5dc0a51c314df4bf93ff03f15c890aa06a7cc642
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Anna Bauza
2023-07-26 08:47:01 +00:00
committed by Automerger Merge Worker

View File

@@ -2650,15 +2650,15 @@ public class UserManagerService extends IUserManager.Stub {
@Override
public void setDefaultGuestRestrictions(Bundle restrictions) {
checkManageUsersPermission("setDefaultGuestRestrictions");
final List<UserInfo> guests = getGuestUsers();
synchronized (mRestrictionsLock) {
for (int i = 0; i < guests.size(); i++) {
updateUserRestrictionsInternalLR(restrictions, guests.get(i).id);
}
}
synchronized (mGuestRestrictions) {
mGuestRestrictions.clear();
mGuestRestrictions.putAll(restrictions);
final List<UserInfo> guests = getGuestUsers();
for (int i = 0; i < guests.size(); i++) {
synchronized (mRestrictionsLock) {
updateUserRestrictionsInternalLR(mGuestRestrictions, guests.get(i).id);
}
}
}
synchronized (mPackagesLock) {
writeUserListLP();