Merge "Update makefiles for Java package path."
diff --git a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
index 4c66eba..8a894a0 100644
--- a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
@@ -209,6 +209,7 @@
 
   /**
    * Used to indicate a Hotspot 2.0 imminent deauth notice.
+   *
    * @param reasonCode Code to indicate the deauth reason.
    *        Refer to section 3.2.1.2 of the Hotspot 2.0 spec.
    * @param reAuthDelayInSec Delay before reauthenticating.
@@ -217,4 +218,28 @@
   oneway onHs20DeauthImminentNotice(uint32_t reasonCode,
                                     uint32_t reAuthDelayInSec,
                                     string url);
+
+  /**
+   * Used to indicate a disconnect from the currently connected
+   * network on this iface,.
+   *
+   * @param bssid BSSID of the AP from which we disconnected.
+   * @param locallyGenerated If the disconnect was triggered by
+   *        wpa_supplicant.
+   * @param reasonCode 802.11 code to indicate the disconnect reason
+   *        from access point. Refer to section 8.4.1.7 of IEEE802.11 spec.
+   */
+  oneway onDisconnected(
+          Bssid bssid, bool locallyGenerated, uint32_t reasonCode);
+
+  /**
+   * Used to indicate an association rejection recieved from the AP
+   * to which the connection is being attempted.
+   *
+   * @param bssid BSSID of the corresponding AP which sent this
+   *        reject.
+   * @param statusCode 802.11 code to indicate the reject reason.
+   *        Refer to section 8.4.1.9 of IEEE 802.11 spec.
+   */
+  oneway onAssociationRejected(Bssid bssid, uint32_t statusCode);
 };
diff --git a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
index e414a07..479ba94 100644
--- a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
@@ -453,7 +453,7 @@
   setEapSubjectMatch(string match) generates (SupplicantStatus status);
 
   /**
-   * Set EAP Altsubject match for this network.
+   * Set EAP Alt subject match for this network.
    *
    * @param match value to set.
    * @return status Status of the operation.
@@ -649,6 +649,184 @@
   getRequirePmf() generates (SupplicantStatus status, bool enabled);
 
   /**
+   * Get EAP Method set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return method value set.
+   *        Must be one of |EapMethod| values.
+   */
+  getEapMethod()
+      generates (SupplicantStatus status, EapMethod method);
+
+  /**
+   * Get EAP Phase2 Method set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return method value set.
+   *        Must be one of |EapPhase2Method| values.
+   */
+  getEapPhase2Method()
+      generates (SupplicantStatus status, EapPhase2Method method);
+
+  /**
+   * Get EAP Identity set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return identity value set.
+   */
+  getEapIdentity()
+      generates (SupplicantStatus status, vec<uint8_t> identity);
+
+  /**
+   * Get EAP Anonymous Identity set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return identity value set.
+   */
+  getEapAnonymousIdentity()
+      generates (SupplicantStatus status, vec<uint8_t> identity);
+
+  /**
+   * Get EAP Password set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return password value set.
+   */
+  getEapPassword()
+      generates (SupplicantStatus status, vec<uint8_t> password);
+
+  /**
+   * Get EAP CA certificate file path set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return path value set.
+   */
+  getEapCACert() generates (SupplicantStatus status, string path);
+
+  /**
+   * Get EAP CA certificate directory path set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return path value set.
+   */
+  getEapCAPath() generates (SupplicantStatus status, string path);
+
+  /**
+   * Get EAP Client certificate file path set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return path value set.
+   */
+  getEapClientCert() generates (SupplicantStatus status, string path);
+
+  /**
+   * Get EAP private key file path set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return path value set.
+   */
+  getEapPrivateKey() generates (SupplicantStatus status, string path);
+
+  /**
+   * Get EAP subject match set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return match value set.
+   */
+  getEapSubjectMatch() generates (SupplicantStatus status, string match);
+
+  /**
+   * Get EAP Alt subject match set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return match value set.
+   */
+  getEapAltSubjectMatch()
+      generates (SupplicantStatus status, string match);
+
+  /**
+   * Get if EAP Open SSL Engine is enabled for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return enabled true if set, false otherwise.
+   */
+  getEapEngine() generates (SupplicantStatus status, bool enabled);
+
+  /**
+   * Get EAP Open SSL Engine ID set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return id value set.
+   */
+  getEapEngineID() generates (SupplicantStatus status, string id);
+
+  /**
+   * Get EAP Domain suffix match set for this network.
+   *
+   * @return status Status of the operation.
+   *         Possible status codes:
+   *         |SupplicantStatusCode.SUCCESS|,
+   *         |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
+   *         |SupplicantStatusCode.FAILURE_UNKNOWN|,
+   *         |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+   * @return match value set.
+   */
+  getEapDomainSuffixMatch()
+      generates (SupplicantStatus status, string match);
+
+  /**
    * Enable the network for connection purposes.
    *
    * This must trigger a connection to the network if: