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

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

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

View File

@@ -2710,15 +2710,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();