Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17429b53 authored by Eran Messeri's avatar Eran Messeri
Browse files

Address API Review for setProfileOwnerCanAccessDeviceIds

Per API council's suggestion, make setProfileOwnerCanAccessDeviceIds
throw only if the API level of the calling app is R and above, and
call markProfileOwnerOnOrganizationOwnedDevice if called from apps
targeting Q and below.

This code path is extremely unlikely to ever trigger because this method
was marked as SystemApi unintentionally, and could only be called during
the provisioning flow.

Test: Manual
Bug: 150957726
Change-Id: I4215c7dce642c9e3ff00183f43867802507911ca
parent 6ef8f5e1
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -11492,7 +11492,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.
     *
@@ -11503,9 +11507,14 @@ public class DevicePolicyManager {
    @RequiresPermission(value = android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS,
            conditional = true)
    public void setProfileOwnerCanAccessDeviceIds(@NonNull ComponentName who) {
        ApplicationInfo ai = mContext.getApplicationInfo();
        if (ai.targetSdkVersion > Build.VERSION_CODES.Q) {
            throw new UnsupportedOperationException(
                "This method is deprecated. use markProfileOwnerOnOrganizationOwnedDevice instead"
                        + ".");
                    "This method is deprecated. use markProfileOwnerOnOrganizationOwnedDevice"
                    + " instead.");
        } else {
            markProfileOwnerOnOrganizationOwnedDevice(who);
        }
    }
    /**