diff --git a/api/current.txt b/api/current.txt index 1863a032e4b72..1a5ff745c39bb 100644 --- a/api/current.txt +++ b/api/current.txt @@ -6206,6 +6206,9 @@ package android.app.admin { field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION"; field public static final deprecated java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM"; + field public static final java.lang.String EXTRA_PROVISIONING_DISCLAIMERS = "android.app.extra.PROVISIONING_DISCLAIMERS"; + 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 java.lang.String EXTRA_PROVISIONING_EMAIL_ADDRESS = "android.app.extra.PROVISIONING_EMAIL_ADDRESS"; 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"; diff --git a/api/system-current.txt b/api/system-current.txt index 64d0f266921b5..4d90147a45a9e 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6399,6 +6399,9 @@ package android.app.admin { field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION"; field public static final deprecated java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM"; + field public static final java.lang.String EXTRA_PROVISIONING_DISCLAIMERS = "android.app.extra.PROVISIONING_DISCLAIMERS"; + 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 java.lang.String EXTRA_PROVISIONING_EMAIL_ADDRESS = "android.app.extra.PROVISIONING_EMAIL_ADDRESS"; 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"; diff --git a/api/test-current.txt b/api/test-current.txt index 7e5de6ad5d697..31ccd93ce6f60 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -6228,6 +6228,9 @@ package android.app.admin { field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION"; field public static final deprecated java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM"; + field public static final java.lang.String EXTRA_PROVISIONING_DISCLAIMERS = "android.app.extra.PROVISIONING_DISCLAIMERS"; + 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 java.lang.String EXTRA_PROVISIONING_EMAIL_ADDRESS = "android.app.extra.PROVISIONING_EMAIL_ADDRESS"; 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"; diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 636f936996578..b641e634a8005 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -44,6 +44,7 @@ import android.graphics.Bitmap; import android.net.ProxyInfo; import android.net.Uri; import android.os.Bundle; +import android.os.Parcelable; import android.os.PersistableBundle; import android.os.Process; import android.os.RemoteCallback; @@ -152,6 +153,7 @@ public class DevicePolicyManager { *
When managed provisioning has completed, broadcasts are sent to the application specified @@ -233,6 +235,7 @@ public class DevicePolicyManager { *
When device owner provisioning has completed, an intent of the type @@ -804,7 +807,7 @@ public class DevicePolicyManager { *
It is the responsability of the caller to provide an image with a reasonable + *
It is the responsibility of the caller to provide an image with a reasonable * pixed density for the device. * *
If a content: URI is passed, the intent should have the flag @@ -817,6 +820,58 @@ public class DevicePolicyManager { public static final String EXTRA_PROVISIONING_LOGO_URI = "android.app.extra.PROVISIONING_LOGO_URI"; + /** + * A {@link Bundle}[] extra consisting of list of disclaimer headers and disclaimer contents. + * Each {@link Bundle} must have both {@link #EXTRA_PROVISIONING_DISCLAIMER_HEADER} + * as disclaimer header, and {@link #EXTRA_PROVISIONING_DISCLAIMER_CONTENT} as disclaimer + * content. + * + *
The extra typically contains one disclaimer from the company of mobile device + * management application (MDM), and one disclaimer from the organization. + * + *
Call {@link Bundle#putParcelableArray(String, Parcelable[])} to put the {@link Bundle}[] + * + *
Maximum 3 key-value pairs can be specified. The rest will be ignored. + * + *
Use in an intent with action {@link #ACTION_PROVISION_MANAGED_PROFILE} or + * {@link #ACTION_PROVISION_MANAGED_DEVICE} + */ + public static final String EXTRA_PROVISIONING_DISCLAIMERS = + "android.app.extra.PROVISIONING_DISCLAIMERS"; + + /** + * A String extra of localized disclaimer header. + * + *
The extra is typically the company name of mobile device management application (MDM) + * or the organization name. + * + *
Use in Bundle {@link #EXTRA_PROVISIONING_DISCLAIMERS} + */ + public static final String EXTRA_PROVISIONING_DISCLAIMER_HEADER = + "android.app.extra.PROVISIONING_DISCLAIMER_HEADER"; + + /** + * A {@link Uri} extra pointing to disclaimer content. + * + *
Styled text is supported in the disclaimer content. The content is parsed by + * {@link android.text.Html#fromHtml(String)} and displayed in a + * {@link android.widget.TextView}. + * + *
If a content: URI is passed, URI is passed, the intent should have the flag
+ * {@link Intent#FLAG_GRANT_READ_URI_PERMISSION} and the uri should be added to the
+ * {@link android.content.ClipData} of the intent too.
+ *
+ *
Use in Bundle {@link #EXTRA_PROVISIONING_DISCLAIMERS} + */ + public static final String EXTRA_PROVISIONING_DISCLAIMER_CONTENT = + "android.app.extra.PROVISIONING_DISCLAIMER_CONTENT"; + /** * A boolean extra indicating if user setup should be skipped, for when provisioning is started * during setup-wizard.