Clear mGuestRestrictions before loading from disk
Only guest user restrictions that are set to true are saved in
writeUserListLP. When loading <guestRestrictions>, they are applied
on top of mGuestRestrictions filled with default values.
Restrictions set to false are reset and this was causing the issue.
Bug: 33250860
Test: Manual
Change-Id: I6e5c792a3adcf2116bb26fd5feba551d7edcb28e
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index b9fcf4e..1f97d7d 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -1810,8 +1810,8 @@
if (type == XmlPullParser.START_TAG) {
if (parser.getName().equals(TAG_RESTRICTIONS)) {
synchronized (mGuestRestrictions) {
- mGuestRestrictions.putAll(
- UserRestrictionsUtils.readRestrictions(parser));
+ UserRestrictionsUtils
+ .readRestrictions(parser, mGuestRestrictions);
}
}
break;