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