Merge "[DPP R2] Update ACTION_PROCESS_WIFI_EASY_CONNECT_URI intent"
This commit is contained in:
committed by
Android (Google) Code Review
commit
032c3aa77e
@@ -30158,6 +30158,21 @@ package android.net.ssl {
|
||||
|
||||
package android.net.wifi {
|
||||
|
||||
public abstract class EasyConnectStatusCallback {
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa
|
||||
}
|
||||
|
||||
public class ScanResult implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method public int getWifiStandard();
|
||||
@@ -39459,6 +39474,10 @@ package android.provider {
|
||||
field public static final String EXTRA_CHANNEL_ID = "android.provider.extra.CHANNEL_ID";
|
||||
field public static final String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled";
|
||||
field public static final String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes";
|
||||
field public static final String EXTRA_EASY_CONNECT_ATTEMPTED_SSID = "android.provider.extra.EASY_CONNECT_ATTEMPTED_SSID";
|
||||
field public static final String EXTRA_EASY_CONNECT_BAND_LIST = "android.provider.extra.EASY_CONNECT_BAND_LIST";
|
||||
field public static final String EXTRA_EASY_CONNECT_CHANNEL_LIST = "android.provider.extra.EASY_CONNECT_CHANNEL_LIST";
|
||||
field public static final String EXTRA_EASY_CONNECT_ERROR_CODE = "android.provider.extra.EASY_CONNECT_ERROR_CODE";
|
||||
field public static final String EXTRA_INPUT_METHOD_ID = "input_method_id";
|
||||
field public static final String EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME = "android.provider.extra.NOTIFICATION_LISTENER_COMPONENT_NAME";
|
||||
field public static final String EXTRA_SUB_ID = "android.provider.extra.SUB_ID";
|
||||
|
||||
@@ -5403,18 +5403,6 @@ package android.net.wifi {
|
||||
method public void onFailure(int);
|
||||
method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
|
||||
method public abstract void onProgress(int);
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8
|
||||
field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa
|
||||
field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
|
||||
field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
|
||||
field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
|
||||
|
||||
@@ -494,24 +494,93 @@ public final class Settings {
|
||||
* Activity Action: Show setting page to process an Easy Connect (Wi-Fi DPP) QR code and start
|
||||
* configuration. This intent should be used when you want to use this device to take on the
|
||||
* configurator role for an IoT/other device. When provided with a valid DPP URI string Settings
|
||||
* will open a wifi selection screen for the user to indicate which network they would like
|
||||
* to configure the device specified in the DPP URI string for and carry them through the rest
|
||||
* of the flow for provisioning the device.
|
||||
* will open a wifi selection screen for the user to indicate which network they would like to
|
||||
* configure the device specified in the DPP URI string for and carry them through the rest of
|
||||
* the flow for provisioning the device.
|
||||
* <p>
|
||||
* In some cases, a matching Activity may not exist, so ensure you safeguard
|
||||
* against this by checking WifiManager.isEasyConnectSupported();
|
||||
* In some cases, a matching Activity may not exist, so ensure you safeguard against this by
|
||||
* checking WifiManager.isEasyConnectSupported();
|
||||
* <p>
|
||||
* Input: The Intent's data URI specifies bootstrapping information for authenticating and
|
||||
* provisioning the peer, with the "DPP" scheme.
|
||||
* <p>
|
||||
* Output: After {@code startActivityForResult}, the callback {@code onActivityResult} will have
|
||||
* resultCode {@link android.app.Activity#RESULT_OK} if Wi-Fi Easy Connect configuration
|
||||
* success and the user clicks 'Done' button.
|
||||
* resultCode {@link android.app.Activity#RESULT_OK} if Wi-Fi Easy Connect configuration succeeded
|
||||
* and the user tapped 'Done' button, or {@link android.app.Activity#RESULT_CANCELED} if operation
|
||||
* failed and user tapped 'Cancel'. In case the operation has failed, a status code from {@link
|
||||
* android.net.wifi.EasyConnectStatusCallback.EasyConnectFailureStatusCode} will be returned as
|
||||
* Extra {@link #EXTRA_EASY_CONNECT_ERROR_CODE}. Easy Connect R2 Enrollees report additional
|
||||
* details about the error they encountered, which will be provided in the {@link
|
||||
* #EXTRA_EASY_CONNECT_ATTEMPTED_SSID}, {@link #EXTRA_EASY_CONNECT_CHANNEL_LIST}, and {@link
|
||||
* #EXTRA_EASY_CONNECT_BAND_LIST}.
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
|
||||
public static final String ACTION_PROCESS_WIFI_EASY_CONNECT_URI =
|
||||
"android.settings.PROCESS_WIFI_EASY_CONNECT_URI";
|
||||
|
||||
/**
|
||||
* Activity Extra: The Easy Connect operation error code
|
||||
* <p>
|
||||
* An extra returned on the result intent received when using the {@link
|
||||
* #ACTION_PROCESS_WIFI_EASY_CONNECT_URI} intent to launch the Easy Connect Operation. This
|
||||
* extra contains the error code of the operation - one of
|
||||
* {@link android.net.wifi.EasyConnectStatusCallback.EasyConnectFailureStatusCode}.
|
||||
* If there is no error, i.e. if the operation returns {@link android.app.Activity#RESULT_OK},
|
||||
* then this extra is not attached to the result intent.
|
||||
*/
|
||||
public static final String EXTRA_EASY_CONNECT_ERROR_CODE =
|
||||
"android.provider.extra.EASY_CONNECT_ERROR_CODE";
|
||||
|
||||
/**
|
||||
* Activity Extra: The SSID that the Enrollee tried to connect to.
|
||||
* <p>
|
||||
* An extra returned on the result intent received when using the {@link
|
||||
* #ACTION_PROCESS_WIFI_EASY_CONNECT_URI} intent to launch the Easy Connect Operation. This
|
||||
* extra contains the SSID of the Access Point that the remote Enrollee tried to connect to.
|
||||
* This value is populated only by remote R2 devices, and only for the following error codes:
|
||||
* {@link android.net.wifi.EasyConnectStatusCallback.EasyConnectFailureStatusCode#EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK}
|
||||
* {@link android.net.wifi.EasyConnectStatusCallback.EasyConnectFailureStatusCode#EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION}.
|
||||
* Therefore, always check if this extra is available using {@link Intent#hasExtra(String)}. If
|
||||
* there is no error, i.e. if the operation returns {@link android.app.Activity#RESULT_OK}, then
|
||||
* this extra is not attached to the result intent.
|
||||
*/
|
||||
public static final String EXTRA_EASY_CONNECT_ATTEMPTED_SSID =
|
||||
"android.provider.extra.EASY_CONNECT_ATTEMPTED_SSID";
|
||||
|
||||
/**
|
||||
* Activity Extra: The Channel List that the Enrollee used to scan a network.
|
||||
* <p>
|
||||
* An extra returned on the result intent received when using the {@link
|
||||
* #ACTION_PROCESS_WIFI_EASY_CONNECT_URI} intent to launch the Easy Connect Operation. This
|
||||
* extra contains the list channels the Enrollee used to scan for a network. This value is
|
||||
* populated only by remote R2 devices, and only for the following error code: {@link
|
||||
* android.net.wifi.EasyConnectStatusCallback.EasyConnectFailureStatusCode#EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK}.
|
||||
* Therefore, always check if this extra is available using {@link Intent#hasExtra(String)}. If
|
||||
* there is no error, i.e. if the operation returns {@link android.app.Activity#RESULT_OK}, then
|
||||
* this extra is not attached to the result intent. The list is JSON formatted, as an array
|
||||
* (Wi-Fi global operating classes) of arrays (Wi-Fi channels).
|
||||
*/
|
||||
public static final String EXTRA_EASY_CONNECT_CHANNEL_LIST =
|
||||
"android.provider.extra.EASY_CONNECT_CHANNEL_LIST";
|
||||
|
||||
/**
|
||||
* Activity Extra: The Band List that the Enrollee supports.
|
||||
* <p>
|
||||
* An extra returned on the result intent received when using the {@link
|
||||
* #ACTION_PROCESS_WIFI_EASY_CONNECT_URI} intent to launch the Easy Connect Operation. This
|
||||
* extra contains the bands the Enrollee supports, expressed as the Global Operating Class,
|
||||
* see Table E-4 in IEEE Std 802.11-2016 -Global operating classes. This value is populated only
|
||||
* by remote R2 devices, and only for the following error codes: {@link
|
||||
* android.net.wifi.EasyConnectStatusCallback.EasyConnectFailureStatusCode#EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK}
|
||||
* {@link android.net.wifi.EasyConnectStatusCallback.EasyConnectFailureStatusCode#EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION}
|
||||
* {@link android.net.wifi.EasyConnectStatusCallback.EasyConnectFailureStatusCode#EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION}.
|
||||
* Therefore, always check if this extra is available using {@link Intent#hasExtra(String)}. If
|
||||
* there is no error, i.e. if the operation returns {@link android.app.Activity#RESULT_OK}, then
|
||||
* this extra is not attached to the result intent.
|
||||
*/
|
||||
public static final String EXTRA_EASY_CONNECT_BAND_LIST =
|
||||
"android.provider.extra.EASY_CONNECT_BAND_LIST";
|
||||
|
||||
/**
|
||||
* Activity Action: Show settings to allow configuration of data and view data usage.
|
||||
* <p>
|
||||
|
||||
@@ -28,29 +28,27 @@ import java.util.concurrent.Executor;
|
||||
|
||||
/**
|
||||
* Easy Connect (DPP) Status Callback. Use this callback to get status updates (success, failure,
|
||||
* progress) from the Easy Connect operation started with
|
||||
* {@link WifiManager#startEasyConnectAsConfiguratorInitiator(String, int, int, Executor,
|
||||
* EasyConnectStatusCallback)} or {@link WifiManager#startEasyConnectAsEnrolleeInitiator(String,
|
||||
* Executor, EasyConnectStatusCallback)}
|
||||
*
|
||||
* @hide
|
||||
* progress) from the Easy Connect operations.
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract class EasyConnectStatusCallback {
|
||||
/**
|
||||
* Easy Connect R1 Success event: Configuration sent (Configurator mode). This is the last
|
||||
* and final Easy Connect event when either the local device or remote device implement R1.
|
||||
* If both devices implement R2, this event will never be received, and the
|
||||
* {@link EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED} will be received.
|
||||
* {@link #EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED} will be received.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0;
|
||||
|
||||
/**
|
||||
* East Connect R2 Success event: Configuration applied by Enrollee (Configurator mode).
|
||||
* This is the last and final Easy Connect event when both the local device and remote device
|
||||
* implement R2. If either the local device or remote device implement R1, this event will never
|
||||
* be received, and the {@link EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT} will be received.
|
||||
* be received, and the {@link #EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT} will be received.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1;
|
||||
|
||||
/** @hide */
|
||||
@@ -64,22 +62,30 @@ public abstract class EasyConnectStatusCallback {
|
||||
|
||||
/**
|
||||
* Easy Connect Progress event: Initial authentication with peer succeeded.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0;
|
||||
|
||||
/**
|
||||
* Easy Connect Progress event: Peer requires more time to process bootstrapping.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1;
|
||||
|
||||
/**
|
||||
* Easy Connect R2 Progress event: Configuration sent to Enrollee, waiting for response
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2;
|
||||
|
||||
/**
|
||||
* Easy Connect R2 Progress event: Configuration accepted by Enrollee, waiting for response
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3;
|
||||
|
||||
/** @hide */
|
||||
@@ -174,6 +180,12 @@ public abstract class EasyConnectStatusCallback {
|
||||
public @interface EasyConnectFailureStatusCode {
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@SystemApi
|
||||
public EasyConnectStatusCallback() {
|
||||
// Fully-static utility classes must not have constructor
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when local Easy Connect Enrollee successfully receives a new Wi-Fi configuration from
|
||||
* the
|
||||
@@ -185,7 +197,9 @@ public abstract class EasyConnectStatusCallback {
|
||||
* EasyConnectStatusCallback)} .
|
||||
*
|
||||
* @param newNetworkId New Wi-Fi configuration with a network ID received from the configurator
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract void onEnrolleeSuccess(int newNetworkId);
|
||||
|
||||
/**
|
||||
@@ -197,7 +211,9 @@ public abstract class EasyConnectStatusCallback {
|
||||
* int, Executor,EasyConnectStatusCallback)}.
|
||||
*
|
||||
* @param code Easy Connect success status code.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract void onConfiguratorSuccess(@EasyConnectSuccessStatusCode int code);
|
||||
|
||||
/**
|
||||
@@ -205,7 +221,9 @@ public abstract class EasyConnectStatusCallback {
|
||||
* end of the current Easy Connect session, and no further callbacks will be called.
|
||||
*
|
||||
* @param code Easy Connect failure status code.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public void onFailure(@EasyConnectFailureStatusCode int code) {}
|
||||
|
||||
/**
|
||||
@@ -227,7 +245,9 @@ public abstract class EasyConnectStatusCallback {
|
||||
* @param operatingClassArray Array of bands the Enrollee supports as expressed as the Global
|
||||
* Operating Class, see Table E-4 in IEEE Std 802.11-2016 - Global
|
||||
* operating classes.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public void onFailure(@EasyConnectFailureStatusCode int code, @Nullable String ssid,
|
||||
@NonNull SparseArray<int[]> channelListArray, @NonNull int[] operatingClassArray) {
|
||||
onFailure(code);
|
||||
@@ -238,6 +258,8 @@ public abstract class EasyConnectStatusCallback {
|
||||
* to show progress.
|
||||
*
|
||||
* @param code Easy Connect progress status code.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract void onProgress(@EasyConnectProgressStatusCode int code);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user