diff options
author | Xin Li <delphij@google.com> | 2021-08-17 18:14:12 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-08-17 18:14:12 +0000 |
commit | c541e8abb62a9a888de1cf48bbded105f7869cc0 (patch) | |
tree | 8a9c3f56607bb90577557ddd3261d36ae2ec2b93 /wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp | |
parent | 1aa8cad8558884c9dd0293dffbf823e45614a25d (diff) | |
parent | e287df40b90fe64c226f90c66353a33e8ef40063 (diff) |
Merge "Merge sc-dev-plus-aosp-without-vendor@7634622" into stage-aosp-master
Diffstat (limited to 'wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp')
-rw-r--r-- | wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp index 5b11dd3fc4..e6e61cf8b7 100644 --- a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp +++ b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp @@ -16,6 +16,8 @@ #include <android/log.h> +#include <android/hardware/wifi/1.3/IWifiChip.h> +#include <android/hardware/wifi/1.5/IWifiChip.h> #include <wifi_system/interface_tool.h> #include "wifi_hidl_call_util.h" @@ -112,7 +114,7 @@ sp<IWifiChip> getWifiChip(const std::string& instance_name) { const auto& status_and_chip_ids = HIDL_INVOKE(wifi, getChipIds); const auto& chip_ids = status_and_chip_ids.second; if (status_and_chip_ids.first.code != WifiStatusCode::SUCCESS || - chip_ids.size() != 1) { + chip_ids.size() < 1) { return nullptr; } const auto& status_and_chip = HIDL_INVOKE(wifi, getChip, chip_ids[0]); @@ -208,3 +210,24 @@ void stopWifi(const std::string& instance_name) { ASSERT_NE(wifi, nullptr); HIDL_INVOKE(wifi, stop); } + +uint32_t getChipCapabilitiesLatest(const sp<IWifiChip>& wifi_chip) { + sp<::android::hardware::wifi::V1_5::IWifiChip> chip_converted15 = + ::android::hardware::wifi::V1_5::IWifiChip::castFrom(wifi_chip); + sp<::android::hardware::wifi::V1_3::IWifiChip> chip_converted13 = + ::android::hardware::wifi::V1_3::IWifiChip::castFrom(wifi_chip); + std::pair<WifiStatus, uint32_t> status_and_caps; + + if (chip_converted15 != nullptr) { + // Call the newer HAL 1.5 version + status_and_caps = HIDL_INVOKE(chip_converted15, getCapabilities_1_5); + } else if (chip_converted13 != nullptr) { + // Call the newer HAL 1.3 version + status_and_caps = HIDL_INVOKE(chip_converted13, getCapabilities_1_3); + } else { + status_and_caps = HIDL_INVOKE(wifi_chip, getCapabilities); + } + + EXPECT_EQ(WifiStatusCode::SUCCESS, status_and_caps.first.code); + return status_and_caps.second; +} |