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

Commit b57f5871 authored by Antoan Angelov's avatar Antoan Angelov Committed by Android (Google) Code Review
Browse files

Merge "Add actions for starting the device management role holder"

parents 5930f8a3 0c9fd044
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -997,8 +997,12 @@ package android.app.admin {
    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
    field @RequiresPermission(android.Manifest.permission.MANAGE_FACTORY_RESET_PROTECTION) public static final String ACTION_RESET_PROTECTION_POLICY_CHANGED = "android.app.action.RESET_PROTECTION_POLICY_CHANGED";
    field public static final String ACTION_ROLE_HOLDER_PROVISION_FINALIZATION = "android.app.action.ROLE_HOLDER_PROVISION_FINALIZATION";
    field public static final String ACTION_ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
    field public static final String ACTION_ROLE_HOLDER_PROVISION_MANAGED_PROFILE = "android.app.action.ROLE_HOLDER_PROVISION_MANAGED_PROFILE";
    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
    field @Deprecated public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
    field public static final String ACTION_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER = "android.app.action.UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER";
    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
@@ -1021,6 +1025,10 @@ package android.app.admin {
    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
    field public static final int RESULT_DEVICE_OWNER_SET = 123; // 0x7b
    field public static final int RESULT_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR = 1; // 0x1
    field public static final int RESULT_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER_UNRECOVERABLE_ERROR = 2; // 0x2
    field public static final int RESULT_WORK_PROFILE_CREATED = 122; // 0x7a
    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
+136 −0
Original line number Diff line number Diff line
@@ -469,6 +469,105 @@ public class DevicePolicyManager {
    public static final String ACTION_PROVISION_FINALIZATION
            = "android.app.action.PROVISION_FINALIZATION";
    /**
     * Activity action: starts the managed profile provisioning flow inside the device management
     * role holder.
     *
     * <p>During the managed profile provisioning flow, the platform-provided provisioning handler
     * will delegate provisioning to the device management role holder, by firing this intent.
     * Third-party mobile device management applications attempting to fire this intent will
     * receive a {@link SecurityException}.
     *
     * <p>Device management role holders are required to have a handler for this intent action.
     *
     * <p>A result code of {@link Activity#RESULT_OK} implies that managed profile provisioning
     * finished successfully. If it did not, a result code of {@link Activity#RESULT_CANCELED}
     * is used instead.
     *
     * @see #ACTION_PROVISION_MANAGED_PROFILE
     *
     * @hide
     */
    // TODO(b/208628038): Uncomment when the permission is in place
    //  @RequiresPermission(android.Manifest.permission.LAUNCH_DEVICE_MANAGER_ROLE_HOLDER)
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    @SystemApi
    public static final String ACTION_ROLE_HOLDER_PROVISION_MANAGED_PROFILE =
            "android.app.action.ROLE_HOLDER_PROVISION_MANAGED_PROFILE";
    /**
     * Result code that can be returned by the {@link
     * #ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE} or {@link
     * #ACTION_ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE} intent handlers if a work
     * profile has been created.
     *
     * @hide
     */
    @SystemApi
    public static final int RESULT_WORK_PROFILE_CREATED = 122;
    /**
     * Result code that can be returned by the {@link
     * #ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE} or {@link
     * #ACTION_ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE} intent handlers if the
     * device owner was set.
     *
     * @hide
     */
    @SystemApi
    public static final int RESULT_DEVICE_OWNER_SET = 123;
    /**
     * Activity action: starts the trusted source provisioning flow inside the device management
     * role holder.
     *
     * <p>During the trusted source provisioning flow, the platform-provided provisioning handler
     * will delegate provisioning to the device management role holder, by firing this intent.
     * Third-party mobile device management applications attempting to fire this intent will
     * receive a {@link SecurityException}.
     *
     * <p>Device management role holders are required to have a handler for this intent action.
     *
     * <p>The result codes can be either {@link #RESULT_WORK_PROFILE_CREATED}, {@link
     * #RESULT_DEVICE_OWNER_SET} or {@link Activity#RESULT_CANCELED} if provisioning failed.
     *
     * @see #ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE
     *
     * @hide
     */
    // TODO(b/208628038): Uncomment when the permission is in place
    //  @RequiresPermission(android.Manifest.permission.LAUNCH_DEVICE_MANAGER_ROLE_HOLDER)
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    @SystemApi
    public static final String ACTION_ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE =
            "android.app.action.ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
    /**
     * Activity action: starts the provisioning finalization flow inside the device management
     * role holder.
     *
     * <p>During the provisioning finalization flow, the platform-provided provisioning handler
     * will delegate provisioning to the device management role holder, by firing this intent.
     * Third-party mobile device management applications attempting to fire this intent will
     * receive a {@link SecurityException}.
     *
     * <p>Device management role holders are required to have a handler for this intent action.
     *
     * <p>This handler forwards the result from the admin app's {@link
     * #ACTION_ADMIN_POLICY_COMPLIANCE} handler. Result code {@link Activity#RESULT_CANCELED}
     * implies the provisioning finalization flow has failed.
     *
     * @see #ACTION_PROVISION_FINALIZATION
     *
     * @hide
     */
    // TODO(b/208628038): Uncomment when the permission is in place
    //  @RequiresPermission(android.Manifest.permission.LAUNCH_DEVICE_MANAGER_ROLE_HOLDER)
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    @SystemApi
    public static final String ACTION_ROLE_HOLDER_PROVISION_FINALIZATION =
            "android.app.action.ROLE_HOLDER_PROVISION_FINALIZATION";
    /**
     * Action: Bugreport sharing with device owner has been accepted by the user.
     *
@@ -2820,6 +2919,43 @@ public class DevicePolicyManager {
    public static final String ACTION_ADMIN_POLICY_COMPLIANCE =
            "android.app.action.ADMIN_POLICY_COMPLIANCE";
    /**
     * Activity action: Starts the device management role holder updater.
     *
     * <p>The activity must handle the device management role holder update and set the intent
     * result to either {@link Activity#RESULT_OK} if the update was successful, {@link
     * #RESULT_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR} if it encounters a problem
     * that may be solved by relaunching it again, or {@link
     * #RESULT_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER_UNRECOVERABLE_ERROR} if it encounters a problem
     * that will not be solved by relaunching it again.
     *
     * @hide
     */
    // TODO(b/208628038): Uncomment when the permission is in place
    //  @RequiresPermission(android.Manifest.permission.LAUNCH_DEVICE_MANAGER_ROLE_HOLDER)
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    @SystemApi
    public static final String ACTION_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER =
            "android.app.action.UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER";
    /**
     * Result code that can be returned by the {@link #ACTION_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER}
     * handler if it encounters a problem that may be solved by relaunching it again.
     *
     * @hide
     */
    @SystemApi
    public static final int RESULT_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR = 1;
    /**
     * Result code that can be returned by the {@link #ACTION_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER}
     * handler if it encounters a problem that will not be solved by relaunching it again.
     *
     * @hide
     */
    @SystemApi
    public static final int RESULT_UPDATE_DEVICE_MANAGEMENT_ROLE_HOLDER_UNRECOVERABLE_ERROR = 2;
    /**
     * Maximum supported password length. Kind-of arbitrary.
     * @hide