summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Anna Bauza <annabauza@google.com> 2023-07-26 07:36:02 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-07-26 07:36:02 +0000
commit36680dc6314913660445425849c087f8b5258e24 (patch)
tree706105566bd630bd5c63faef5a513f0d17606fcf
parent1139a889d539b215acd6b69e380a94075cb2da06 (diff)
parent1004e773f64ee89c1c02f8088602f5f50bec3f56 (diff)
Merge "Fix settings crash by removing potential deadlock in setDefaultGuestRestrictions" into udc-qpr-dev
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java12
1 files changed, 6 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index f8bd3289a0b3..cab90d24ca39 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -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();