summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt8
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java68
2 files changed, 76 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index 3d6645b096d6..b6cd2d4986f0 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -6784,9 +6784,11 @@ package android.app.admin {
method public void wipeData(int);
method public void wipeData(int, java.lang.CharSequence);
field public static final java.lang.String ACTION_ADD_DEVICE_ADMIN = "android.app.action.ADD_DEVICE_ADMIN";
+ field public static final java.lang.String ACTION_ADMIN_POLICY_COMPLIANCE = "android.app.action.ADMIN_POLICY_COMPLIANCE";
field public static final java.lang.String ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED = "android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED";
field public static final java.lang.String ACTION_DEVICE_ADMIN_SERVICE = "android.app.action.DEVICE_ADMIN_SERVICE";
field public static final java.lang.String ACTION_DEVICE_OWNER_CHANGED = "android.app.action.DEVICE_OWNER_CHANGED";
+ field public static final java.lang.String ACTION_GET_PROVISIONING_MODE = "android.app.action.GET_PROVISIONING_MODE";
field public static final java.lang.String ACTION_MANAGED_PROFILE_PROVISIONED = "android.app.action.MANAGED_PROFILE_PROVISIONED";
field public static final java.lang.String ACTION_PROFILE_OWNER_CHANGED = "android.app.action.PROFILE_OWNER_CHANGED";
field public static final java.lang.String ACTION_PROVISIONING_SUCCESSFUL = "android.app.action.PROVISIONING_SUCCESSFUL";
@@ -6829,12 +6831,15 @@ package android.app.admin {
field public static final java.lang.String EXTRA_PROVISIONING_DISCLAIMER_CONTENT = "android.app.extra.PROVISIONING_DISCLAIMER_CONTENT";
field public static final java.lang.String EXTRA_PROVISIONING_DISCLAIMER_HEADER = "android.app.extra.PROVISIONING_DISCLAIMER_HEADER";
field public static final deprecated java.lang.String EXTRA_PROVISIONING_EMAIL_ADDRESS = "android.app.extra.PROVISIONING_EMAIL_ADDRESS";
+ field public static final java.lang.String EXTRA_PROVISIONING_IMEI = "android.app.extra.PROVISIONING_IMEI";
field public static final java.lang.String EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION = "android.app.extra.PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION";
field public static final java.lang.String EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED = "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED";
field public static final java.lang.String EXTRA_PROVISIONING_LOCALE = "android.app.extra.PROVISIONING_LOCALE";
field public static final java.lang.String EXTRA_PROVISIONING_LOCAL_TIME = "android.app.extra.PROVISIONING_LOCAL_TIME";
field public static final java.lang.String EXTRA_PROVISIONING_LOGO_URI = "android.app.extra.PROVISIONING_LOGO_URI";
field public static final java.lang.String EXTRA_PROVISIONING_MAIN_COLOR = "android.app.extra.PROVISIONING_MAIN_COLOR";
+ field public static final java.lang.String EXTRA_PROVISIONING_MODE = "android.app.extra.PROVISIONING_MODE";
+ field public static final java.lang.String EXTRA_PROVISIONING_SERIAL_NUMBER = "android.app.extra.PROVISIONING_SERIAL_NUMBER";
field public static final java.lang.String EXTRA_PROVISIONING_SKIP_ENCRYPTION = "android.app.extra.PROVISIONING_SKIP_ENCRYPTION";
field public static final java.lang.String EXTRA_PROVISIONING_SKIP_USER_CONSENT = "android.app.extra.PROVISIONING_SKIP_USER_CONSENT";
field public static final java.lang.String EXTRA_PROVISIONING_TIME_ZONE = "android.app.extra.PROVISIONING_TIME_ZONE";
@@ -6911,6 +6916,9 @@ package android.app.admin {
field public static final int PRIVATE_DNS_SET_ERROR_FAILURE_SETTING = 2; // 0x2
field public static final int PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING = 1; // 0x1
field public static final int PRIVATE_DNS_SET_SUCCESS = 0; // 0x0
+ field public static final int PROVISIONING_MODE_FULLY_MANAGED_DEVICE = 1; // 0x1
+ field public static final int PROVISIONING_MODE_MANAGED_PROFILE = 2; // 0x2
+ field public static final int PROVISIONING_MODE_MANAGED_PROFILE_ON_FULLY_MANAGED_DEVICE = 3; // 0x3
field public static final int RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT = 2; // 0x2
field public static final int RESET_PASSWORD_REQUIRE_ENTRY = 1; // 0x1
field public static final int SKIP_SETUP_WIZARD = 1; // 0x1
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 9247486dff40..6d7c547f7cf1 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -2168,6 +2168,74 @@ public class DevicePolicyManager {
public @interface SetPrivateDnsModeResultConstants {}
/**
+ * Activity action: Starts the administrator to get the mode for the provisioning.
+ * This intent may contain the following extras:
+ * <ul>
+ * <li>{@link #EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE}</li>
+ * <li>{@link #EXTRA_PROVISIONING_IMEI}</li>
+ * <li>{@link #EXTRA_PROVISIONING_SERIAL_NUMBER}</li>
+ * </ul>
+ *
+ * <p>The target activity should return one of the following values in
+ * {@link #EXTRA_PROVISIONING_MODE} as result:
+ * <ul>
+ * <li>{@link #PROVISIONING_MODE_FULLY_MANAGED_DEVICE}</li>
+ * <li>{@link #PROVISIONING_MODE_MANAGED_PROFILE}</li>
+ * <li>{@link #PROVISIONING_MODE_MANAGED_PROFILE_ON_FULLY_MANAGED_DEVICE}</li>
+ * </ul>
+ *
+ * <p>The target activity may also return the account that needs to be migrated from primary
+ * user to managed profile in case of a profile owner provisioning in
+ * {@link #EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE} as result.
+ */
+ public static final String ACTION_GET_PROVISIONING_MODE =
+ "android.app.action.GET_PROVISIONING_MODE";
+
+ /**
+ * A string extra holding the IMEI (International Mobile Equipment Identity) of the device.
+ */
+ public static final String EXTRA_PROVISIONING_IMEI = "android.app.extra.PROVISIONING_IMEI";
+
+ /**
+ * A string extra holding the serial number of the device.
+ */
+ public static final String EXTRA_PROVISIONING_SERIAL_NUMBER =
+ "android.app.extra.PROVISIONING_SERIAL_NUMBER";
+
+ /**
+ * An intent extra holding the provisioning mode returned by the administrator.
+ * The value for this extra should be one of the following:
+ * <ul>
+ * <li>{@link #PROVISIONING_MODE_FULLY_MANAGED_DEVICE}</li>
+ * <li>{@link #PROVISIONING_MODE_MANAGED_PROFILE}</li>
+ * <li>{@link #PROVISIONING_MODE_MANAGED_PROFILE_ON_FULLY_MANAGED_DEVICE}</li>
+ * </ul>
+ */
+ public static final String EXTRA_PROVISIONING_MODE =
+ "android.app.extra.PROVISIONING_MODE";
+
+ /**
+ * The provisioning mode for fully managed device.
+ */
+ public static final int PROVISIONING_MODE_FULLY_MANAGED_DEVICE = 1;
+
+ /**
+ * The provisioning mode for managed profile.
+ */
+ public static final int PROVISIONING_MODE_MANAGED_PROFILE = 2;
+
+ /**
+ * The provisioning mode for managed profile on a fully managed device.
+ */
+ public static final int PROVISIONING_MODE_MANAGED_PROFILE_ON_FULLY_MANAGED_DEVICE = 3;
+
+ /**
+ * Activity action: Starts the administrator to show policy compliance for the provisioning.
+ */
+ public static final String ACTION_ADMIN_POLICY_COMPLIANCE =
+ "android.app.action.ADMIN_POLICY_COMPLIANCE";
+
+ /**
* Return true if the given administrator component is currently active (enabled) in the system.
*
* @param admin The administrator component to check for.