Merge "wpa_supplicant(hidl): Fix compilation failures"
diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk
index 31f017b..b778607 100644
--- a/wpa_supplicant/Android.mk
+++ b/wpa_supplicant/Android.mk
@@ -50,7 +50,7 @@
 endif
 
 # C++ flags for hidl interface
-L_CPPFLAGS := -std=c++11 -Wall -Werror
+L_CPPFLAGS := -Wall -Werror
 # TODO: Remove these allowed warnings later.
 L_CPPFLAGS += -Wno-unused-variable -Wno-unused-parameter
 L_CPPFLAGS += -Wno-unused-private-field
diff --git a/wpa_supplicant/hidl/hidl_manager.h b/wpa_supplicant/hidl/hidl_manager.h
index 0678b10..5f1c7b6 100644
--- a/wpa_supplicant/hidl/hidl_manager.h
+++ b/wpa_supplicant/hidl/hidl_manager.h
@@ -191,6 +191,7 @@
 	    std::vector<android::sp<ISupplicantStaNetworkCallback>>>
 	    sta_network_callbacks_map_;
 
+#if 0  // TODO(b/31632518): HIDL object death notifications.
 	/**
 	 * Helper class used to deregister the callback object reference from
 	 * our callback list on the death of the hidl object.
@@ -222,6 +223,7 @@
 		const std::function<void(const android::sp<CallbackType> &)>
 		    on_hidl_died_;
 	};
+#endif
 };
 
 // The hidl interface uses some values which are the same as internal ones to
diff --git a/wpa_supplicant/hidl/p2p_iface.cpp b/wpa_supplicant/hidl/p2p_iface.cpp
index 47f3cc5..9c0b3f4 100644
--- a/wpa_supplicant/hidl/p2p_iface.cpp
+++ b/wpa_supplicant/hidl/p2p_iface.cpp
@@ -196,8 +196,8 @@
 {
 	return validateAndCall(
 	    this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
-	    &P2pIface::inviteInternal, _hidl_cb, go_device_address,
-	    peer_address);
+	    &P2pIface::inviteInternal, _hidl_cb, group_ifname,
+	    go_device_address, peer_address);
 }
 
 Return<void> P2pIface::reinvoke(
@@ -296,8 +296,8 @@
 {
 	return validateAndCall(
 	    this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
-	    &P2pIface::requestServiceDiscoveryInternal, _hidl_cb, version,
-	    peer_address, query);
+	    &P2pIface::requestServiceDiscoveryInternal, _hidl_cb, peer_address,
+	    query);
 }
 
 Return<void> P2pIface::cancelServiceDiscovery(
@@ -435,9 +435,9 @@
 }
 
 std::pair<SupplicantStatus, std::vector<uint8_t>> P2pIface::connectInternal(
-    const hidl_array<uint8_t, 6>& peer_address,
+    const std::array<uint8_t, 6>& peer_address,
     ISupplicantP2pIface::WpsProvisionMethod provision_method,
-    const hidl_vec<uint8_t>& pre_selected_pin, bool join_existing_group,
+    const std::vector<uint8_t>& pre_selected_pin, bool join_existing_group,
     bool persistent, uint32_t go_intent)
 {
 	// TODO: Add implementation.
@@ -451,7 +451,7 @@
 }
 
 SupplicantStatus P2pIface::provisionDiscoveryInternal(
-    const hidl_array<uint8_t, 6>& peer_address,
+    const std::array<uint8_t, 6>& peer_address,
     ISupplicantP2pIface::WpsProvisionMethod provision_method)
 {
 	// TODO: Add implementation.
@@ -472,7 +472,7 @@
 }
 
 SupplicantStatus P2pIface::rejectInternal(
-    const hidl_array<uint8_t, 6>& peer_address)
+    const std::array<uint8_t, 6>& peer_address)
 {
 	// TODO: Add implementation.
 	return {SupplicantStatusCode::SUCCESS, ""};
@@ -480,15 +480,15 @@
 
 SupplicantStatus P2pIface::inviteInternal(
     const hidl_string& group_ifname,
-    const hidl_array<uint8_t, 6>& go_device_address,
-    const hidl_array<uint8_t, 6>& peer_address)
+    const std::array<uint8_t, 6>& go_device_address,
+    const std::array<uint8_t, 6>& peer_address)
 {
 	// TODO: Add implementation.
 	return {SupplicantStatusCode::SUCCESS, ""};
 }
 
 SupplicantStatus P2pIface::reinvokeInternal(
-    uint32_t persistent_network_id, const hidl_array<uint8_t, 6>& peer_address)
+    uint32_t persistent_network_id, const std::array<uint8_t, 6>& peer_address)
 {
 	// TODO: Add implementation.
 	return {SupplicantStatusCode::SUCCESS, ""};
@@ -509,28 +509,28 @@
 }
 
 std::pair<SupplicantStatus, std::vector<uint8_t>> P2pIface::getSsidInternal(
-    const hidl_array<uint8_t, 6>& peer_address)
+    const std::array<uint8_t, 6>& peer_address)
 {
 	// TODO: Add implementation.
 	return {{SupplicantStatusCode::SUCCESS, ""}, {}};
 }
 
 std::pair<SupplicantStatus, uint32_t> P2pIface::getGroupCapabilityInternal(
-    const hidl_array<uint8_t, 6>& peer_address)
+    const std::array<uint8_t, 6>& peer_address)
 {
 	// TODO: Add implementation.
 	return {{SupplicantStatusCode::SUCCESS, ""}, 0};
 }
 
 SupplicantStatus P2pIface::addBonjourServiceInternal(
-    const hidl_vec<uint8_t>& query, const hidl_vec<uint8_t>& response)
+    const std::vector<uint8_t>& query, const std::vector<uint8_t>& response)
 {
 	// TODO: Add implementation.
 	return {SupplicantStatusCode::SUCCESS, ""};
 }
 
 SupplicantStatus P2pIface::removeBonjourServiceInternal(
-    const hidl_vec<uint8_t>& query)
+    const std::vector<uint8_t>& query)
 {
 	// TODO: Add implementation.
 	return {SupplicantStatusCode::SUCCESS, ""};
@@ -558,7 +558,8 @@
 }
 
 std::pair<SupplicantStatus, uint64_t> P2pIface::requestServiceDiscoveryInternal(
-    const hidl_array<uint8_t, 6>& peer_address, const hidl_vec<uint8_t>& query)
+    const std::array<uint8_t, 6>& peer_address,
+    const std::vector<uint8_t>& query)
 {
 	// TODO: Add implementation.
 	return {{SupplicantStatusCode::SUCCESS, ""}, 0};
diff --git a/wpa_supplicant/hidl/p2p_iface.h b/wpa_supplicant/hidl/p2p_iface.h
index f4992c3..d340b08 100644
--- a/wpa_supplicant/hidl/p2p_iface.h
+++ b/wpa_supplicant/hidl/p2p_iface.h
@@ -154,39 +154,40 @@
 	SupplicantStatus stopFindInternal();
 	SupplicantStatus flushInternal();
 	std::pair<SupplicantStatus, std::vector<uint8_t>> connectInternal(
-	    const hidl_array<uint8_t, 6>& peer_address,
+	    const std::array<uint8_t, 6>& peer_address,
 	    ISupplicantP2pIface::WpsProvisionMethod provision_method,
-	    const hidl_vec<uint8_t>& pre_selected_pin, bool join_existing_group,
-	    bool persistent, uint32_t go_intent);
+	    const std::vector<uint8_t>& pre_selected_pin,
+	    bool join_existing_group, bool persistent, uint32_t go_intent);
 	SupplicantStatus cancelConnectInternal();
 	SupplicantStatus provisionDiscoveryInternal(
-	    const hidl_array<uint8_t, 6>& peer_address,
+	    const std::array<uint8_t, 6>& peer_address,
 	    ISupplicantP2pIface::WpsProvisionMethod provision_method);
 	SupplicantStatus addGroupInternal(
 	    bool persistent, uint32_t persistent_network_id);
 	SupplicantStatus removeGroupInternal(const hidl_string& group_ifname);
 	SupplicantStatus rejectInternal(
-	    const hidl_array<uint8_t, 6>& peer_address);
+	    const std::array<uint8_t, 6>& peer_address);
 	SupplicantStatus inviteInternal(
 	    const hidl_string& group_ifname,
-	    const hidl_array<uint8_t, 6>& go_device_address,
-	    const hidl_array<uint8_t, 6>& peer_address);
+	    const std::array<uint8_t, 6>& go_device_address,
+	    const std::array<uint8_t, 6>& peer_address);
 	SupplicantStatus reinvokeInternal(
 	    uint32_t persistent_network_id,
-	    const hidl_array<uint8_t, 6>& peer_address);
+	    const std::array<uint8_t, 6>& peer_address);
 	SupplicantStatus configureExtListenInternal(
 	    bool enable, uint32_t period_in_millis,
 	    uint32_t interval_in_millis);
 	SupplicantStatus setListenChannelInternal(
 	    uint32_t channel, uint32_t operating_class);
 	std::pair<SupplicantStatus, std::vector<uint8_t>> getSsidInternal(
-	    const hidl_array<uint8_t, 6>& peer_address);
+	    const std::array<uint8_t, 6>& peer_address);
 	std::pair<SupplicantStatus, uint32_t> getGroupCapabilityInternal(
-	    const hidl_array<uint8_t, 6>& peer_address);
+	    const std::array<uint8_t, 6>& peer_address);
 	SupplicantStatus addBonjourServiceInternal(
-	    const hidl_vec<uint8_t>& query, const hidl_vec<uint8_t>& response);
+	    const std::vector<uint8_t>& query,
+	    const std::vector<uint8_t>& response);
 	SupplicantStatus removeBonjourServiceInternal(
-	    const hidl_vec<uint8_t>& query);
+	    const std::vector<uint8_t>& query);
 	SupplicantStatus addUpnpServiceInternal(
 	    uint32_t version, const hidl_string& service_name);
 	SupplicantStatus removeUpnpServiceInternal(
@@ -194,8 +195,8 @@
 	SupplicantStatus flushServicesInternal(
 	    uint32_t version, const hidl_string& service_name);
 	std::pair<SupplicantStatus, uint64_t> requestServiceDiscoveryInternal(
-	    const hidl_array<uint8_t, 6>& peer_address,
-	    const hidl_vec<uint8_t>& query);
+	    const std::array<uint8_t, 6>& peer_address,
+	    const std::vector<uint8_t>& query);
 	SupplicantStatus cancelServiceDiscoveryInternal(uint64_t identifier);
 
 	struct wpa_supplicant* retrieveIfacePtr();