From 8a5536d53ef1eea92e1a2b997744a27ce904134c Mon Sep 17 00:00:00 2001 From: Zoltan Szatmary-Ban Date: Fri, 27 May 2016 17:56:44 +0100 Subject: [PATCH] Only reset global restriction owner on DO->PO for the right user Bug:28972648 Change-Id: I4ef727205bbd8ec319672480bac7b519b33d2a58 --- .../java/com/android/server/pm/UserManagerService.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 9d8ba127c8348..b9167905612d6 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1009,9 +1009,13 @@ public class UserManagerService extends IUserManager.Stub { // in getUserRestrictionSource on who set local policies. mGlobalRestrictionOwnerUserId = userId; } else { - // When profile owner sets restrictions it passes null global bundle and we reset - // global restriction owner userId. - mGlobalRestrictionOwnerUserId = UserHandle.USER_NULL; + if (mGlobalRestrictionOwnerUserId == userId) { + // When profile owner sets restrictions it passes null global bundle and we + // reset global restriction owner userId. + // This means this user used to have DO, but now the DO is gone and the user + // instead has PO. + mGlobalRestrictionOwnerUserId = UserHandle.USER_NULL; + } } { // Update local.