Prevent use of Enrollment-specific Id on parent
Throw if the caller is trying to call methods related to
Enrollment-specific ID on the parent DevicePolicyManager instance.
This fixes ManagedProfileTest#testParentProfileApiDisabled
Bug: 177439350
Bug: 168627890
Test: atest CtsDevicePolicyManagerTestCases:com.android.cts.devicepolicy.ManagedProfileTest#testParentProfileApiDisabled
Change-Id: I06610249021639f9319835d28c681bc0cb3d3887
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 1789b63..ec4bace 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -12847,6 +12847,7 @@
* @throws SecurityException if the caller is not a profile owner or device owner.
*/
@NonNull public String getEnrollmentSpecificId() {
+ throwIfParentInstance("getEnrollmentSpecificId");
if (mService == null) {
return "";
}
@@ -12869,6 +12870,7 @@
* enrolled into.
*/
public void setOrganizationId(@NonNull String enterpriseId) {
+ throwIfParentInstance("setOrganizationId");
setOrganizationIdForUser(mContext.getPackageName(), enterpriseId, myUserId());
}