diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 37f1a6559bfe8..24af5aff67ea4 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -11496,7 +11496,11 @@ public class DevicePolicyManager { /** * Deprecated. Use {@code markProfileOwnerOnOrganizationOwnedDevice} instead. - * Throws UnsupportedOperationException when called. + * When called by an app targeting SDK level {@link android.os.Build.VERSION_CODES#Q} or + * below, will behave the same as {@link #markProfileOwnerOnOrganizationOwnedDevice}. + * + * When called by an app targeting SDK level {@link android.os.Build.VERSION_CODES#R} + * or above, will throw an UnsupportedOperationException when called. * * @deprecated Use {@link #markProfileOwnerOnOrganizationOwnedDevice} instead. * @@ -11507,9 +11511,14 @@ public class DevicePolicyManager { @RequiresPermission(value = android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional = true) public void setProfileOwnerCanAccessDeviceIds(@NonNull ComponentName who) { - throw new UnsupportedOperationException( - "This method is deprecated. use markProfileOwnerOnOrganizationOwnedDevice instead" - + "."); + ApplicationInfo ai = mContext.getApplicationInfo(); + if (ai.targetSdkVersion > Build.VERSION_CODES.Q) { + throw new UnsupportedOperationException( + "This method is deprecated. use markProfileOwnerOnOrganizationOwnedDevice" + + " instead."); + } else { + markProfileOwnerOnOrganizationOwnedDevice(who); + } } /**