Merge "Revert "Disable multiple user for corp-liable mode""
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 68f660f..f1a55f9 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -2864,24 +2864,6 @@
}
/**
- * 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
* @removed
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index ba34c3d..c6f8740 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -116,7 +116,6 @@
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 fd036a7..b3c40d3 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 @@
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 @@
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 3ae2751..92d2324 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -4628,11 +4628,6 @@
}
}
- @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() {