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

Commit 1663624e authored by Eran Messeri's avatar Eran Messeri
Browse files

Address API review for admin-granted permissions

Address API review for changes related to admin-granted permissions:
* Change the provisioning extra to indicate it only affects
  sensors-related permissions.
* Add an IntDef for the AdminPermissionControlParams grant state.

Bug: 184204476
Bug: 184204334
Test: atest ManagedProvisioningTests
Change-Id: I75c8b6de1e897e02916b17f0ae3a521f8384c242
parent bda154d5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7398,7 +7398,7 @@ package android.app.admin {
    field public static final String EXTRA_PROVISIONING_LOGO_URI = "android.app.extra.PROVISIONING_LOGO_URI";
    field @Deprecated public static final String EXTRA_PROVISIONING_MAIN_COLOR = "android.app.extra.PROVISIONING_MAIN_COLOR";
    field public static final String EXTRA_PROVISIONING_MODE = "android.app.extra.PROVISIONING_MODE";
    field public static final String EXTRA_PROVISIONING_PERMISSION_GRANT_OPT_OUT = "android.app.extra.PROVISIONING_PERMISSION_GRANT_OPT_OUT";
    field public static final String EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT = "android.app.extra.PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT";
    field public static final String EXTRA_PROVISIONING_SERIAL_NUMBER = "android.app.extra.PROVISIONING_SERIAL_NUMBER";
    field public static final String EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS = "android.app.extra.PROVISIONING_SKIP_EDUCATION_SCREENS";
    field public static final String EXTRA_PROVISIONING_SKIP_ENCRYPTION = "android.app.extra.PROVISIONING_SKIP_ENCRYPTION";
+4 −4
Original line number Diff line number Diff line
@@ -991,8 +991,8 @@ public class DevicePolicyManager {
     * <p>Use only for device owner provisioning.
     * @see #ACTION_GET_PROVISIONING_MODE
     */
    public static final String EXTRA_PROVISIONING_PERMISSION_GRANT_OPT_OUT =
            "android.app.extra.PROVISIONING_PERMISSION_GRANT_OPT_OUT";
    public static final String EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT =
            "android.app.extra.PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT";
    /**
     * A String extra holding the URL-safe base64 encoded SHA-256 checksum of any signature of the
@@ -10963,8 +10963,8 @@ public class DevicePolicyManager {
     * <p>
     * A device owner, by default, may continue granting these permissions. However, for increased
     * user control, the admin may opt out of controlling grants for these permissions by including
     * {@link #EXTRA_PROVISIONING_PERMISSION_GRANT_OPT_OUT} in the provisioning parameters. In that
     * case the device owner's control will be limited do denying these permissions.
     * {@link #EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT} in the provisioning parameters.
     * In that case the device owner's control will be limited do denying these permissions.
     * <p>
     * Attempts by the admin to grant these permissions, when the admin is restricted from doing
     * so, will be silently ignored (no exception will be thrown).
+1 −1
Original line number Diff line number Diff line
@@ -229,7 +229,7 @@ public final class FullyManagedDeviceProvisioningParams implements Parcelable {

        /**
         * Marks that the Device Owner may grant permissions related to device sensors.
         * See {@link DevicePolicyManager#EXTRA_PROVISIONING_PERMISSION_GRANT_OPT_OUT}.
         * See {@link DevicePolicyManager#EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT}.
         */
        @NonNull
        @SuppressLint("MissingGetterMatchingBuilder")
+3 −2
Original line number Diff line number Diff line
@@ -56,7 +56,8 @@ public final class AdminPermissionControlParams implements Parcelable {
     */
    public AdminPermissionControlParams(@NonNull String granteePackageName,
            @NonNull String permission,
            int grantState, boolean canAdminGrantSensorsPermissions) {
            @DevicePolicyManager.PermissionGrantState int grantState,
            boolean canAdminGrantSensorsPermissions) {
        Preconditions.checkStringNotEmpty(granteePackageName, "Package name must not be empty.");
        Preconditions.checkStringNotEmpty(permission, "Permission must not be empty.");
        checkArgument(grantState == PERMISSION_GRANT_STATE_GRANTED
@@ -112,7 +113,7 @@ public final class AdminPermissionControlParams implements Parcelable {
    }

    /** Returns the grant state */
    public int getGrantState() {
    public @DevicePolicyManager.PermissionGrantState int getGrantState() {
        return mGrantState;
    }