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_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 344ec947c1..6dd9156414 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, const std::shared_ptr iface_util, const std::weak_ptr feature_flags, - const std::function& handler) + const std::function& 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::create( const std::weak_ptr mode_controller, const std::shared_ptr iface_util, const std::weak_ptr feature_flags, - const std::function& handler) { + const std::function& handler, + bool using_dynamic_iface_combination) { std::shared_ptr ptr = ndk::SharedRefBase::make( - 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 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 e8df5abf45..1a360320c9 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, const std::shared_ptr iface_util, const std::weak_ptr feature_flags, - const std::function& subsystemCallbackHandler); + const std::function& subsystemCallbackHandler, + bool using_dynamic_iface_combination); // Factory method - use instead of default constructor. static std::shared_ptr create( @@ -62,7 +63,8 @@ class WifiChip : public BnWifiChip { const std::weak_ptr mode_controller, const std::shared_ptr iface_util, const std::weak_ptr feature_flags, - const std::function& subsystemCallbackHandler); + const std::function& 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