Fix the test WifiStaIfaceAidlTest#TwtSessionSetup
Bug: 397600520
Flag: EXEMPT bug fix
Test: atest VtsHalWifiStaIfaceTargetTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e56b013499a680f42e71464a2b042c559258a382)
Merged-In: I61e31f6d51b6e109733a2a5d2d60401a23dffd08
Change-Id: I61e31f6d51b6e109733a2a5d2d60401a23dffd08
Change-Id: I7f79808659e676b8f2187896cb28a0b2e5531fba
diff --git a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp
index f659bf6..1e6d555 100644
--- a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp
+++ b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp
@@ -21,6 +21,7 @@
#include <aidl/Gtest.h>
#include <aidl/Vintf.h>
#include <aidl/android/hardware/wifi/BnWifi.h>
+#include <aidl/android/hardware/wifi/BnWifiStaIfaceEventCallback.h>
#include <android/binder_manager.h>
#include <android/binder_status.h>
#include <binder/IServiceManager.h>
@@ -29,6 +30,7 @@
#include "wifi_aidl_test_utils.h"
+using aidl::android::hardware::wifi::BnWifiStaIfaceEventCallback;
using aidl::android::hardware::wifi::CachedScanData;
using aidl::android::hardware::wifi::IWifi;
using aidl::android::hardware::wifi::IWifiStaIface;
@@ -379,6 +381,66 @@
}
}
+class WifiStaIfaceEventCallback : public BnWifiStaIfaceEventCallback {
+ public:
+ WifiStaIfaceEventCallback() = default;
+
+ ::ndk::ScopedAStatus onBackgroundFullScanResult(
+ int32_t /* in_cmdId */, int32_t /* in_bucketsScanned */,
+ const ::aidl::android::hardware::wifi::StaScanResult& /* in_result */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onBackgroundScanFailure(int32_t /* in_cmdId */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onBackgroundScanResults(
+ int32_t /* in_cmdId */,
+ const std::vector<::aidl::android::hardware::wifi::StaScanData>& /* in_scanDatas */)
+ override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onRssiThresholdBreached(int32_t /* in_cmdId */,
+ const std::array<uint8_t, 6>& /* in_currBssid */,
+ int32_t /* in_currRssi */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onTwtFailure(int32_t /*in_cmdId*/,
+ ::aidl::android::hardware::wifi::IWifiStaIfaceEventCallback::
+ TwtErrorCode /* in_error */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onTwtSessionCreate(
+ int32_t /* in_cmdId */,
+ const ::aidl::android::hardware::wifi::TwtSession& /* in_twtSession */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onTwtSessionUpdate(
+ int32_t /* in_cmdId */,
+ const ::aidl::android::hardware::wifi::TwtSession& /* in_twtSession */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onTwtSessionTeardown(
+ int32_t /* in_cmdId */, int32_t /* in_twtSessionId */,
+ ::aidl::android::hardware::wifi::IWifiStaIfaceEventCallback::
+ TwtTeardownReasonCode /* in_reasonCode */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onTwtSessionStats(
+ int32_t /* in_cmdId */, int32_t /* in_twtSessionId */,
+ const ::aidl::android::hardware::wifi::TwtSessionStats& /* in_twtSessionStats */)
+ override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onTwtSessionSuspend(int32_t /* in_cmdId */,
+ int32_t /* in_twtSessionId */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+ ::ndk::ScopedAStatus onTwtSessionResume(int32_t /* in_cmdId */,
+ int32_t /* in_twtSessionId */) override {
+ return ndk::ScopedAStatus::ok();
+ }
+};
+
TEST_P(WifiStaIfaceAidlTest, TwtGetCapabilities) {
if (interface_version_ < 2) {
GTEST_SKIP() << "TwtGetCapabilities is available as of sta_iface V2";
@@ -414,6 +476,10 @@
if (!twt_capabilities.isTwtRequesterSupported) {
GTEST_SKIP() << "TWT is not supported";
}
+ const std::shared_ptr<WifiStaIfaceEventCallback> callback =
+ ndk::SharedRefBase::make<WifiStaIfaceEventCallback>();
+ ASSERT_NE(callback, nullptr);
+ EXPECT_TRUE(wifi_sta_iface_->registerEventCallback(callback).isOk());
TwtRequest twtRequest;
twtRequest.mloLinkId = 0;