From 97e473e1e19f4338f15395e5b371171fcd6e23ab Mon Sep 17 00:00:00 2001 From: Craig Lafayette Date: Thu, 19 Mar 2015 10:19:38 -0400 Subject: [PATCH] Add Bluetooth connection extras to DPM. These extras will be used in ManagedProvisioning to allow Bluetooth connections from provisioned devices. Change-Id: I7118acd4ea71e2028a0c9f0c61031c78deef8908 --- api/current.txt | 4 ++ api/system-current.txt | 4 ++ .../app/admin/DevicePolicyManager.java | 44 +++++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/api/current.txt b/api/current.txt index 4e5162181597e..678d157d2c08f 100644 --- a/api/current.txt +++ b/api/current.txt @@ -5614,6 +5614,10 @@ package android.app.admin { field public static final java.lang.String EXTRA_DEVICE_ADMIN = "android.app.extra.DEVICE_ADMIN"; field public static final java.lang.String EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE = "android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE"; field public static final java.lang.String EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE"; + field public static final java.lang.String EXTRA_PROVISIONING_BT_DEVICE_ID = "android.app.extra.PROVISIONING_BT_DEVICE_ID"; + field public static final java.lang.String EXTRA_PROVISIONING_BT_MAC_ADDRESS = "android.app.extra.PROVISIONING_BT_MAC_ADDRESS"; + field public static final java.lang.String EXTRA_PROVISIONING_BT_USE_PROXY = "android.app.extra.PROVISIONING_BT_USE_PROXY"; + field public static final java.lang.String EXTRA_PROVISIONING_BT_UUID = "android.app.extra.PROVISIONING_BT_UUID"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER"; diff --git a/api/system-current.txt b/api/system-current.txt index d0dd852804958..de9e194ea91bb 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5718,6 +5718,10 @@ package android.app.admin { field public static final java.lang.String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME"; field public static final java.lang.String EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE = "android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE"; field public static final java.lang.String EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE"; + field public static final java.lang.String EXTRA_PROVISIONING_BT_DEVICE_ID = "android.app.extra.PROVISIONING_BT_DEVICE_ID"; + field public static final java.lang.String EXTRA_PROVISIONING_BT_MAC_ADDRESS = "android.app.extra.PROVISIONING_BT_MAC_ADDRESS"; + field public static final java.lang.String EXTRA_PROVISIONING_BT_USE_PROXY = "android.app.extra.PROVISIONING_BT_USE_PROXY"; + field public static final java.lang.String EXTRA_PROVISIONING_BT_UUID = "android.app.extra.PROVISIONING_BT_UUID"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM"; field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER"; diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index a659acb5ba12c..365c32f1cb5ed 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -432,6 +432,50 @@ public class DevicePolicyManager { public static final String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM"; + /** + * A String extra holding the MAC address of the Bluetooth device to connect to with status + * updates during provisioning. + * + *

Use in an NFC record with {@link #MIME_TYPE_PROVISIONING_NFC} that starts device owner + * provisioning via an NFC bump. + */ + public static final String EXTRA_PROVISIONING_BT_MAC_ADDRESS + = "android.app.extra.PROVISIONING_BT_MAC_ADDRESS"; + + /** + * A String extra holding the Bluetooth service UUID on the device to connect to with status + * updates during provisioning. + * + *

This value must be specified when {@code #EXTRA_PROVISIONING_BT_MAC_ADDRESS} is present. + * + *

Use in an NFC record with {@link #MIME_TYPE_PROVISIONING_NFC} that starts device owner + * provisioning via an NFC bump. + */ + public static final String EXTRA_PROVISIONING_BT_UUID + = "android.app.extra.PROVISIONING_BT_UUID"; + + /** + * A String extra holding a unique identifier used to identify the device connecting over + * Bluetooth. This identifier will be part of every status message sent to the remote device. + * + *

This value must be specified when {@code #EXTRA_PROVISIONING_BT_MAC_ADDRESS} is present. + * + *

Use in an NFC record with {@link #MIME_TYPE_PROVISIONING_NFC} that starts device owner + * provisioning via an NFC bump. + */ + public static final String EXTRA_PROVISIONING_BT_DEVICE_ID + = "android.app.extra.PROVISIONING_BT_DEVICE_ID"; + + /** + * A Boolean extra that that will cause a provisioned device to temporarily proxy network + * traffic over Bluetooth. When a Wi-Fi network is available, the network proxy will stop. + * + *

Use in an NFC record with {@link #MIME_TYPE_PROVISIONING_NFC} that starts device owner + * provisioning via an NFC bump. + */ + public static final String EXTRA_PROVISIONING_BT_USE_PROXY + = "android.app.extra.PROVISIONING_BT_USE_PROXY"; + /** * This MIME type is used for starting the Device Owner provisioning. *