diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index b9fcf4e39203d..1f97d7d9cf477 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 @@ public class UserManagerService extends IUserManager.Stub { if (type == XmlPullParser.START_TAG) { if (parser.getName().equals(TAG_RESTRICTIONS)) { synchronized (mGuestRestrictions) { - mGuestRestrictions.putAll( - UserRestrictionsUtils.readRestrictions(parser)); + UserRestrictionsUtils + .readRestrictions(parser, mGuestRestrictions); } } break; diff --git a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java index 36eba8e1b6bb5..cb2ed6e0d00f0 100644 --- a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java +++ b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java @@ -207,6 +207,7 @@ public class UserRestrictionsUtils { } public static void readRestrictions(XmlPullParser parser, Bundle restrictions) { + restrictions.clear(); for (String key : USER_RESTRICTIONS) { final String value = parser.getAttributeValue(null, key); if (value != null) {