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:
@@ -2650,15 +2650,15 @@ public class UserManagerService extends IUserManager.Stub {
|
|||||||
@Override
|
@Override
|
||||||
public void setDefaultGuestRestrictions(Bundle restrictions) {
|
public void setDefaultGuestRestrictions(Bundle restrictions) {
|
||||||
checkManageUsersPermission("setDefaultGuestRestrictions");
|
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) {
|
synchronized (mGuestRestrictions) {
|
||||||
mGuestRestrictions.clear();
|
mGuestRestrictions.clear();
|
||||||
mGuestRestrictions.putAll(restrictions);
|
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) {
|
synchronized (mPackagesLock) {
|
||||||
writeUserListLP();
|
writeUserListLP();
|
||||||
|
|||||||
Reference in New Issue
Block a user