From a2b862a5276d97062492e13048b346515303da1f Mon Sep 17 00:00:00 2001 From: Jimmy Chen Date: Mon, 17 Jan 2022 12:46:52 +0800 Subject: [PATCH] wifi: add API for setting roaming consortium selection Bug: 210879633 Test: atest VtsHalWifiSupplicantStaNetworkTargetTest Change-Id: I3eb89065ae7348d34ac09627af16d2d9460c9173 --- .../wifi/supplicant/ISupplicantStaNetwork.aidl | 1 + .../wifi/supplicant/ISupplicantStaNetwork.aidl | 13 +++++++++++++ .../functional/supplicant_sta_network_aidl_test.cpp | 8 ++++++++ 3 files changed, 22 insertions(+) diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl index 18baea6961..bdc5f3483c 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl @@ -125,6 +125,7 @@ interface ISupplicantStaNetwork { void setWapiCertSuite(in String suite); void setWepKey(in int keyIdx, in byte[] wepKey); void setWepTxKeyIdx(in int keyIdx); + void setRoamingConsortiumSelection(in byte[] selectedRcoi); const int SSID_MAX_LEN_IN_BYTES = 32; const int PSK_PASSPHRASE_MIN_LEN_IN_BYTES = 8; const int PSK_PASSPHRASE_MAX_LEN_IN_BYTES = 63; diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl index 603e2add6e..1a2087dbe1 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl @@ -1092,4 +1092,17 @@ interface ISupplicantStaNetwork { * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ void setWepTxKeyIdx(in int keyIdx); + + /** + * Set the roaming consortium selection. + * + * @param selectedRcoi Indicates the roaming consortium selection. This is a + * 3 or 5-octet long byte array that indicates the selected RCOI + * used for a Passpoint connection. + * @throws ServiceSpecificException with one of the following values: + * |SupplicantStatusCode.FAILURE_ARGS_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + */ + void setRoamingConsortiumSelection(in byte[] selectedRcoi); } diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp index 0a35f666f4..c6dd98152d 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp @@ -784,6 +784,14 @@ TEST_P(SupplicantStaNetworkAidlTest, GetWpsNfcConfigurationToken) { EXPECT_NE(retrievedToken.size(), 0); } +/* + * SetRoamingConsortiumSelection + */ +TEST_P(SupplicantStaNetworkAidlTest, SetRoamingConsortiumSelection) { + const std::vector testSelection = std::vector({0x11, 0x21, 0x33, 0x44}); + EXPECT_TRUE(sta_network_->setRoamingConsortiumSelection(testSelection).isOk()); +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SupplicantStaNetworkAidlTest); INSTANTIATE_TEST_SUITE_P(Supplicant, SupplicantStaNetworkAidlTest, testing::ValuesIn(android::getAidlHalInstanceNames(