diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 59ba8e7a61775..9adbe67c15532 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -3754,6 +3754,13 @@ public class WifiManager { mCallback.onProvisioningFailure(status); }); } + + @Override + public void onProvisioningComplete() { + mHandler.post(() -> { + mCallback.onProvisioningComplete(); + }); + } } /** diff --git a/wifi/java/android/net/wifi/hotspot2/IProvisioningCallback.aidl b/wifi/java/android/net/wifi/hotspot2/IProvisioningCallback.aidl index c2cb16ab847c9..a6bdd5b6bfffa 100644 --- a/wifi/java/android/net/wifi/hotspot2/IProvisioningCallback.aidl +++ b/wifi/java/android/net/wifi/hotspot2/IProvisioningCallback.aidl @@ -32,5 +32,10 @@ oneway interface IProvisioningCallback * Service to manager callback providing Provisioning status */ void onProvisioningStatus(int status); + + /** + * Service to manager callback providing completion of Provisioning/Remediation flow + */ + void onProvisioningComplete(); } diff --git a/wifi/java/android/net/wifi/hotspot2/ProvisioningCallback.java b/wifi/java/android/net/wifi/hotspot2/ProvisioningCallback.java index 6076175ce9d19..4b76526cbb596 100644 --- a/wifi/java/android/net/wifi/hotspot2/ProvisioningCallback.java +++ b/wifi/java/android/net/wifi/hotspot2/ProvisioningCallback.java @@ -107,6 +107,48 @@ public abstract class ProvisioningCallback { */ public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; + /** + * The reason code for provisioning failure when there is no PPS MO. + * MO. + */ + public static final int OSU_FAILURE_NO_PPS_MO = 16; + + /** + * The reason code for provisioning failure when there is no AAAServerTrustRoot node in a PPS + * MO. + */ + public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; + + /** + * The reason code for provisioning failure when there is no TrustRoot node for remediation + * server in a PPS MO. + */ + public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; + + /** + * The reason code for provisioning failure when there is no TrustRoot node for policy server in + * a PPS MO. + */ + public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; + + /** + * The reason code for provisioning failure when failing to retrieve trust root certificates + * used for validating server certificate for AAA, Remediation and Policy server. + */ + public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; + + /** + * The reason code for provisioning failure when there is no trust root certificate for AAA + * server. + */ + public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; + + /** + * The reason code for provisioning failure when a {@link PasspointConfiguration} is failed to + * install. + */ + public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; + /** * The status code for provisioning flow to indicate connecting to OSU AP */ @@ -157,6 +199,12 @@ public abstract class ProvisioningCallback { */ public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; + /** + * The status code for provisioning flow to indicate starting a step retrieving trust root + * certs. + */ + public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; + /** * Provisioning status for OSU failure * @@ -170,5 +218,10 @@ public abstract class ProvisioningCallback { * @param status indicates status of OSU flow */ public abstract void onProvisioningStatus(int status); + + /** + * Provisioning complete when provisioning/remediation flow completes + */ + public abstract void onProvisioningComplete(); }