Loading core/java/android/app/admin/DevicePolicyManagerInternal.java +7 −1 Original line number Diff line number Diff line Loading @@ -231,7 +231,13 @@ public abstract class DevicePolicyManagerInternal { * Returns the profile owner component for the given user, or {@code null} if there is not one. */ @Nullable public abstract ComponentName getProfileOwnerAsUser(int userHandle); public abstract ComponentName getProfileOwnerAsUser(@UserIdInt int userId); /** * Returns the user id of the device owner, or {@link UserHandle#USER_NULL} if there is not one. */ @UserIdInt public abstract int getDeviceOwnerUserId(); /** * Returns whether the given package is a device owner or a profile owner in the calling user. Loading services/core/java/com/android/server/pm/UserManagerService.java +20 −1 Original line number Diff line number Diff line Loading @@ -4762,13 +4762,32 @@ public class UserManagerService extends IUserManager.Stub { final boolean hasParent = user.profileGroupId != user.id && user.profileGroupId != UserInfo.NO_PROFILE_GROUP_ID; if (verbose) { pw.printf("%d: id=%d, name=%s, flags=%s%s%s%s%s%s%s\n", i, user.id, user.name, final DevicePolicyManagerInternal dpm = getDevicePolicyManagerInternal(); String deviceOwner = ""; String profileOwner = ""; if (dpm != null) { final long ident = Binder.clearCallingIdentity(); // NOTE: dpm methods below CANNOT be called while holding the mUsersLock try { if (dpm.getDeviceOwnerUserId() == user.id) { deviceOwner = " (device-owner)"; } if (dpm.getProfileOwnerAsUser(user.id) != null) { profileOwner = " (profile-owner)"; } } finally { Binder.restoreCallingIdentity(ident); } } pw.printf("%d: id=%d, name=%s, flags=%s%s%s%s%s%s%s%s%s\n", i, user.id, user.name, UserInfo.flagsToString(user.flags), hasParent ? " (parentId=" + user.profileGroupId + ")" : "", running ? " (running)" : "", user.partial ? " (partial)" : "", user.preCreated ? " (pre-created)" : "", user.convertedFromPreCreated ? " (converted)" : "", deviceOwner, profileOwner, current ? " (current)" : ""); } else { // NOTE: the standard "list users" command is used by integration tests and Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +7 −2 Original line number Diff line number Diff line Loading @@ -12051,8 +12051,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } @Override public ComponentName getProfileOwnerAsUser(int userHandle) { return DevicePolicyManagerService.this.getProfileOwnerAsUser(userHandle); public ComponentName getProfileOwnerAsUser(@UserIdInt int userId) { return DevicePolicyManagerService.this.getProfileOwnerAsUser(userId); } @Override public int getDeviceOwnerUserId() { return DevicePolicyManagerService.this.getDeviceOwnerUserId(); } @Override Loading
core/java/android/app/admin/DevicePolicyManagerInternal.java +7 −1 Original line number Diff line number Diff line Loading @@ -231,7 +231,13 @@ public abstract class DevicePolicyManagerInternal { * Returns the profile owner component for the given user, or {@code null} if there is not one. */ @Nullable public abstract ComponentName getProfileOwnerAsUser(int userHandle); public abstract ComponentName getProfileOwnerAsUser(@UserIdInt int userId); /** * Returns the user id of the device owner, or {@link UserHandle#USER_NULL} if there is not one. */ @UserIdInt public abstract int getDeviceOwnerUserId(); /** * Returns whether the given package is a device owner or a profile owner in the calling user. Loading
services/core/java/com/android/server/pm/UserManagerService.java +20 −1 Original line number Diff line number Diff line Loading @@ -4762,13 +4762,32 @@ public class UserManagerService extends IUserManager.Stub { final boolean hasParent = user.profileGroupId != user.id && user.profileGroupId != UserInfo.NO_PROFILE_GROUP_ID; if (verbose) { pw.printf("%d: id=%d, name=%s, flags=%s%s%s%s%s%s%s\n", i, user.id, user.name, final DevicePolicyManagerInternal dpm = getDevicePolicyManagerInternal(); String deviceOwner = ""; String profileOwner = ""; if (dpm != null) { final long ident = Binder.clearCallingIdentity(); // NOTE: dpm methods below CANNOT be called while holding the mUsersLock try { if (dpm.getDeviceOwnerUserId() == user.id) { deviceOwner = " (device-owner)"; } if (dpm.getProfileOwnerAsUser(user.id) != null) { profileOwner = " (profile-owner)"; } } finally { Binder.restoreCallingIdentity(ident); } } pw.printf("%d: id=%d, name=%s, flags=%s%s%s%s%s%s%s%s%s\n", i, user.id, user.name, UserInfo.flagsToString(user.flags), hasParent ? " (parentId=" + user.profileGroupId + ")" : "", running ? " (running)" : "", user.partial ? " (partial)" : "", user.preCreated ? " (pre-created)" : "", user.convertedFromPreCreated ? " (converted)" : "", deviceOwner, profileOwner, current ? " (current)" : ""); } else { // NOTE: the standard "list users" command is used by integration tests and Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +7 −2 Original line number Diff line number Diff line Loading @@ -12051,8 +12051,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } @Override public ComponentName getProfileOwnerAsUser(int userHandle) { return DevicePolicyManagerService.this.getProfileOwnerAsUser(userHandle); public ComponentName getProfileOwnerAsUser(@UserIdInt int userId) { return DevicePolicyManagerService.this.getProfileOwnerAsUser(userId); } @Override public int getDeviceOwnerUserId() { return DevicePolicyManagerService.this.getDeviceOwnerUserId(); } @Override