Set the value of using_dynamic_iface_combination_
in the WifiChip constructor.
gTest suite currently cannot mock the legacy HAL
call for getSupportedIfaceConcurrencyMatrix.
If we set using_dynamic_iface_combination_ to true
in the unit tests, we can avoid making this call.
Bug: 271914366
Test: ./runtests.sh # gTest
Test: atest VtsHalWifiChipTargetTest # VTS
Change-Id: Ic43daab6ff5fdc5f78af614ad775f436fbbe8726
diff --git a/wifi/aidl/default/tests/wifi_chip_unit_tests.cpp b/wifi/aidl/default/tests/wifi_chip_unit_tests.cpp
index e66b650..f9afb4b 100644
--- a/wifi/aidl/default/tests/wifi_chip_unit_tests.cpp
+++ b/wifi/aidl/default/tests/wifi_chip_unit_tests.cpp
@@ -282,7 +282,7 @@
public:
void SetUp() override {
chip_ = WifiChip::create(chip_id_, true, legacy_hal_, mode_controller_, iface_util_,
- feature_flags_, subsystemRestartHandler);
+ feature_flags_, subsystemRestartHandler, true);
EXPECT_CALL(*mode_controller_, changeFirmwareMode(testing::_))
.WillRepeatedly(testing::Return(true));
diff --git a/wifi/aidl/default/wifi.cpp b/wifi/aidl/default/wifi.cpp
index d6a85da..34a7f35 100644
--- a/wifi/aidl/default/wifi.cpp
+++ b/wifi/aidl/default/wifi.cpp
@@ -133,7 +133,7 @@
chips_.push_back(
WifiChip::create(chipId, chipId == kPrimaryChipId, hal, mode_controller_,
std::make_shared<iface_util::WifiIfaceUtil>(iface_tool_, hal),
- feature_flags_, on_subsystem_restart_callback));
+ feature_flags_, on_subsystem_restart_callback, false));
chipId++;
}
run_state_ = RunState::STARTED;
diff --git a/wifi/aidl/default/wifi_chip.cpp b/wifi/aidl/default/wifi_chip.cpp
index f9f5528..a2bdbb9 100644
--- a/wifi/aidl/default/wifi_chip.cpp
+++ b/wifi/aidl/default/wifi_chip.cpp
@@ -366,7 +366,8 @@
const std::weak_ptr<mode_controller::WifiModeController> mode_controller,
const std::shared_ptr<iface_util::WifiIfaceUtil> iface_util,
const std::weak_ptr<feature_flags::WifiFeatureFlags> feature_flags,
- const std::function<void(const std::string&)>& handler)
+ const std::function<void(const std::string&)>& handler,
+ bool using_dynamic_iface_combination)
: chip_id_(chip_id),
legacy_hal_(legacy_hal),
mode_controller_(mode_controller),
@@ -375,9 +376,9 @@
current_mode_id_(feature_flags::chip_mode_ids::kInvalid),
modes_(feature_flags.lock()->getChipModes(is_primary)),
debug_ring_buffer_cb_registered_(false),
+ using_dynamic_iface_combination_(using_dynamic_iface_combination),
subsystemCallbackHandler_(handler) {
setActiveWlanIfaceNameProperty(kNoActiveWlanIfaceNamePropertyValue);
- using_dynamic_iface_combination_ = false;
}
void WifiChip::retrieveDynamicIfaceCombination() {
@@ -413,9 +414,11 @@
const std::weak_ptr<mode_controller::WifiModeController> mode_controller,
const std::shared_ptr<iface_util::WifiIfaceUtil> iface_util,
const std::weak_ptr<feature_flags::WifiFeatureFlags> feature_flags,
- const std::function<void(const std::string&)>& handler) {
+ const std::function<void(const std::string&)>& handler,
+ bool using_dynamic_iface_combination) {
std::shared_ptr<WifiChip> ptr = ndk::SharedRefBase::make<WifiChip>(
- chip_id, is_primary, legacy_hal, mode_controller, iface_util, feature_flags, handler);
+ chip_id, is_primary, legacy_hal, mode_controller, iface_util, feature_flags, handler,
+ using_dynamic_iface_combination);
std::weak_ptr<WifiChip> weak_ptr_this(ptr);
ptr->setWeakPtr(weak_ptr_this);
return ptr;
diff --git a/wifi/aidl/default/wifi_chip.h b/wifi/aidl/default/wifi_chip.h
index 4ddee92..d268e89 100644
--- a/wifi/aidl/default/wifi_chip.h
+++ b/wifi/aidl/default/wifi_chip.h
@@ -53,7 +53,8 @@
const std::weak_ptr<mode_controller::WifiModeController> mode_controller,
const std::shared_ptr<iface_util::WifiIfaceUtil> iface_util,
const std::weak_ptr<feature_flags::WifiFeatureFlags> feature_flags,
- const std::function<void(const std::string&)>& subsystemCallbackHandler);
+ const std::function<void(const std::string&)>& subsystemCallbackHandler,
+ bool using_dynamic_iface_combination);
// Factory method - use instead of default constructor.
static std::shared_ptr<WifiChip> create(
@@ -62,7 +63,8 @@
const std::weak_ptr<mode_controller::WifiModeController> mode_controller,
const std::shared_ptr<iface_util::WifiIfaceUtil> iface_util,
const std::weak_ptr<feature_flags::WifiFeatureFlags> feature_flags,
- const std::function<void(const std::string&)>& subsystemCallbackHandler);
+ const std::function<void(const std::string&)>& subsystemCallbackHandler,
+ bool using_dynamic_iface_combination);
// AIDL does not provide a built-in mechanism to let the server invalidate
// an AIDL interface object after creation. If any client process holds onto