Merge "Import WifiChannelWidthInMhz from the Vendor HAL interface to avoid duplicating the definition." into main
diff --git a/wpa_supplicant/aidl/p2p_iface.cpp b/wpa_supplicant/aidl/p2p_iface.cpp
index e98ddb0..8c117d3 100644
--- a/wpa_supplicant/aidl/p2p_iface.cpp
+++ b/wpa_supplicant/aidl/p2p_iface.cpp
@@ -838,6 +838,13 @@
 		&P2pIface::configureExtListenWithParamsInternal, in_extListenInfo);
 }
 
+::ndk::ScopedAStatus P2pIface::addGroupWithConfigurationParams(
+		const P2pAddGroupConfigurationParams& in_groupConfigurationParams)
+{
+	return validateAndCall(
+		this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+		&P2pIface::addGroupWithConfigurationParamsInternal, in_groupConfigurationParams);
+}
 std::pair<std::string, ndk::ScopedAStatus> P2pIface::getNameInternal()
 {
 	return {ifname_, ndk::ScopedAStatus::ok()};
@@ -1908,6 +1915,19 @@
 	return configureExtListenInternal(extListenInfo.periodMs, extListenInfo.intervalMs);
 }
 
+ndk::ScopedAStatus P2pIface::addGroupWithConfigurationParamsInternal(
+	const P2pAddGroupConfigurationParams& groupConfigurationParams)
+{
+	std::vector<uint8_t> goInterfaceAddressVec {
+		groupConfigurationParams.goInterfaceAddress.begin(),
+		groupConfigurationParams.goInterfaceAddress.end()};
+	return addGroupWithConfigInternal(
+		groupConfigurationParams.ssid, groupConfigurationParams.passphrase,
+		groupConfigurationParams.isPersistent, groupConfigurationParams.frequencyMHzOrBand,
+		goInterfaceAddressVec,
+		groupConfigurationParams.joinExistingGroup);
+}
+
 /**
  * Retrieve the underlying |wpa_supplicant| struct
  * pointer for this iface.
diff --git a/wpa_supplicant/aidl/p2p_iface.h b/wpa_supplicant/aidl/p2p_iface.h
index 22d88eb..252abc4 100644
--- a/wpa_supplicant/aidl/p2p_iface.h
+++ b/wpa_supplicant/aidl/p2p_iface.h
@@ -180,6 +180,8 @@
 	::ndk::ScopedAStatus findWithParams(const P2pDiscoveryInfo& in_discoveryInfo) override;
 	::ndk::ScopedAStatus configureExtListenWithParams(
 		const P2pExtListenInfo& in_extListenInfo) override;
+	::ndk::ScopedAStatus addGroupWithConfigurationParams(
+		const P2pAddGroupConfigurationParams& in_groupConfigurationParams) override;
 
 
 private:
@@ -308,6 +310,8 @@
 		const P2pConnectInfo& connectInfo);
 	ndk::ScopedAStatus findWithParamsInternal(const P2pDiscoveryInfo& discoveryInfo);
 	ndk::ScopedAStatus configureExtListenWithParamsInternal(const P2pExtListenInfo& extListenInfo);
+	ndk::ScopedAStatus addGroupWithConfigurationParamsInternal(
+		const P2pAddGroupConfigurationParams& groupConfigurationParams);
 
 	struct wpa_supplicant* retrieveIfacePtr();
 	struct wpa_supplicant* retrieveGroupIfacePtr(