From 86e5d6b868aec6fa4d3070f36d458798968c85f9 Mon Sep 17 00:00:00 2001 From: Alan Treadway Date: Mon, 23 Nov 2015 17:40:54 +0000 Subject: Revert "Disable multiple user for corp-liable mode" This reverts commit 1dc510eb5bc7f279002a3479f24761f08cc390f7. Change-Id: I12ea8275369cbdc4e95b21c7f5d51b4f0e5da7b2 --- core/java/android/app/admin/DevicePolicyManager.java | 18 ------------------ core/java/android/app/admin/IDevicePolicyManager.aidl | 1 - .../java/com/android/server/pm/UserManagerService.java | 15 ++------------- .../devicepolicy/DevicePolicyManagerService.java | 5 ----- 4 files changed, 2 insertions(+), 37 deletions(-) diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index f1be234c2335..faed7a01f6f5 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -2821,24 +2821,6 @@ public class DevicePolicyManager { return null; } - /** - * Returns the device owner user id. Note this method will still return the device owner user id - * even if it's running on a different user. If there is no device owner this method return - * {@link UserHandle.USER_NULL}. - * - * @hide - */ - public int getDeviceOwnerUserId() { - if (mService != null) { - try { - return mService.getDeviceOwnerUserId(); - } catch (RemoteException re) { - Log.w(TAG, "Failed to get device owner user id"); - } - } - return UserHandle.USER_NULL; - } - /** * @hide * @deprecated Do not use diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index 023e259a5427..7601cf2bb2e0 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -116,7 +116,6 @@ interface IDevicePolicyManager { boolean setDeviceOwner(in ComponentName who, String ownerName, int userId); ComponentName getDeviceOwner(); String getDeviceOwnerName(); - int getDeviceOwnerUserId(); void clearDeviceOwner(String packageName); boolean setProfileOwner(in ComponentName who, String ownerName, int userHandle); diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index fd036a75444f..b3c40d36185c 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1561,8 +1561,6 @@ public class UserManagerService extends IUserManager.Stub { final boolean isManagedProfile = (flags & UserInfo.FLAG_MANAGED_PROFILE) != 0; final boolean isRestricted = (flags & UserInfo.FLAG_RESTRICTED) != 0; final long ident = Binder.clearCallingIdentity(); - final DevicePolicyManager devicePolicyManager = (DevicePolicyManager) mContext - .getSystemService(Context.DEVICE_POLICY_SERVICE); UserInfo userInfo; final int userId; try { @@ -1605,22 +1603,13 @@ public class UserManagerService extends IUserManager.Stub { return null; } } - if (devicePolicyManager != null) { - int deviceOwnerUserId = devicePolicyManager.getDeviceOwnerUserId(); - // If there is a device owner, completely disallow multiple user in non-split - // user devices. In split user devices, no further users can be added If there - // is a device owner outside of the system user. - if (deviceOwnerUserId != UserHandle.USER_NULL - && (!UserManager.isSplitSystemUser() - || deviceOwnerUserId != UserHandle.USER_SYSTEM)) { - return null; - } - } // In split system user mode, we assign the first human user the primary flag. // And if there is no device owner, we also assign the admin flag to primary user. if (UserManager.isSplitSystemUser() && !isGuest && !isManagedProfile && getPrimaryUser() == null) { flags |= UserInfo.FLAG_PRIMARY; + DevicePolicyManager devicePolicyManager = (DevicePolicyManager) + mContext.getSystemService(Context.DEVICE_POLICY_SERVICE); if (devicePolicyManager == null || devicePolicyManager.getDeviceOwner() == null) { flags |= UserInfo.FLAG_ADMIN; diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 682fed953c62..e59c6f814869 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -4569,11 +4569,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } - @Override - public int getDeviceOwnerUserId() { - return mOwners.hasDeviceOwner() ? mOwners.getDeviceOwnerUserId() : UserHandle.USER_NULL; - } - // Returns the active device owner or null if there is no device owner. @VisibleForTesting ActiveAdmin getDeviceOwnerAdminLocked() { -- cgit v1.2.3-59-g8ed1b