diff options
author | Gabriel Biren <gbiren@google.com> | 2023-06-14 22:42:07 +0000 |
---|---|---|
committer | Gabriel Biren <gbiren@google.com> | 2023-06-14 22:45:29 +0000 |
commit | 989c78a51f8f53a02b9d45cd055054faa626592a (patch) | |
tree | 5cf8cd61eceb1b2ee9ad1645af1e88b3337f75e0 | |
parent | a93bdd057828d0f29707a378d7a4de259be74839 (diff) |
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
-rw-r--r-- | wifi/aidl/default/tests/wifi_chip_unit_tests.cpp | 2 | ||||
-rw-r--r-- | wifi/aidl/default/wifi.cpp | 2 | ||||
-rw-r--r-- | wifi/aidl/default/wifi_chip.cpp | 11 | ||||
-rw-r--r-- | wifi/aidl/default/wifi_chip.h | 6 |
4 files changed, 13 insertions, 8 deletions
diff --git a/wifi/aidl/default/tests/wifi_chip_unit_tests.cpp b/wifi/aidl/default/tests/wifi_chip_unit_tests.cpp index e66b650ded..f9afb4b462 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 @@ class WifiChipTest : public Test { 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 d6a85da198..34a7f35d4d 100644 --- a/wifi/aidl/default/wifi.cpp +++ b/wifi/aidl/default/wifi.cpp @@ -133,7 +133,7 @@ ndk::ScopedAStatus Wifi::startInternal() { 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 f9f55285df..a2bdbb9785 100644 --- a/wifi/aidl/default/wifi_chip.cpp +++ b/wifi/aidl/default/wifi_chip.cpp @@ -366,7 +366,8 @@ WifiChip::WifiChip(int32_t chip_id, bool is_primary, 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 @@ WifiChip::WifiChip(int32_t chip_id, bool is_primary, 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 @@ std::shared_ptr<WifiChip> WifiChip::create( 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 4ddee92867..d268e8947c 100644 --- a/wifi/aidl/default/wifi_chip.h +++ b/wifi/aidl/default/wifi_chip.h @@ -53,7 +53,8 @@ class WifiChip : public BnWifiChip { 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 @@ class WifiChip : public BnWifiChip { 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 |