diff options
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 | 18 |
1 files changed, 18 insertions, 0 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 f89f7b4b44..45454bf7e3 100644 --- a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp +++ b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp @@ -18,12 +18,15 @@ #include <VtsHalHidlTargetTestBase.h> +#include <wifi_system/interface_tool.h> + #include "wifi_hidl_call_util.h" #include "wifi_hidl_test_utils.h" using ::android::hardware::wifi::V1_0::IWifi; using ::android::hardware::wifi::V1_0::IWifiApIface; using ::android::hardware::wifi::V1_0::IWifiChip; +using ::android::hardware::wifi::V1_0::IWifiIface; using ::android::hardware::wifi::V1_0::IWifiNanIface; using ::android::hardware::wifi::V1_0::IWifiP2pIface; using ::android::hardware::wifi::V1_0::IWifiRttController; @@ -36,6 +39,7 @@ using ::android::hardware::wifi::V1_0::WifiStatusCode; using ::android::sp; using ::android::hardware::hidl_string; using ::android::hardware::hidl_vec; +using ::android::wifi_system::InterfaceTool; extern WifiHidlEnvironment* gEnv; @@ -131,6 +135,16 @@ sp<IWifiChip> getWifiChip(const std::string& instance_name) { return status_and_chip.second; } +void setIfaceUp(const sp<IWifiIface>& iface) { + // Set the iface up before retrurning the object. + const auto& status_and_name = HIDL_INVOKE(iface, getName); + if (status_and_name.first.code == WifiStatusCode::SUCCESS) { + const auto& iface_name = status_and_name.second; + InterfaceTool iface_tool; + iface_tool.SetUpState(iface_name.c_str(), true); + } +} + sp<IWifiApIface> getWifiApIface(const std::string& instance_name) { sp<IWifiChip> wifi_chip = getWifiChip(instance_name); if (!wifi_chip.get()) { @@ -143,6 +157,7 @@ sp<IWifiApIface> getWifiApIface(const std::string& instance_name) { if (status_and_iface.first.code != WifiStatusCode::SUCCESS) { return nullptr; } + setIfaceUp(status_and_iface.second); return status_and_iface.second; } @@ -158,6 +173,7 @@ sp<IWifiNanIface> getWifiNanIface(const std::string& instance_name) { if (status_and_iface.first.code != WifiStatusCode::SUCCESS) { return nullptr; } + setIfaceUp(status_and_iface.second); return status_and_iface.second; } @@ -173,6 +189,7 @@ sp<IWifiP2pIface> getWifiP2pIface(const std::string& instance_name) { if (status_and_iface.first.code != WifiStatusCode::SUCCESS) { return nullptr; } + setIfaceUp(status_and_iface.second); return status_and_iface.second; } @@ -188,6 +205,7 @@ sp<IWifiStaIface> getWifiStaIface(const std::string& instance_name) { if (status_and_iface.first.code != WifiStatusCode::SUCCESS) { return nullptr; } + setIfaceUp(status_and_iface.second); return status_and_iface.second; } |