diff options
author | Roshan Pius <rpius@google.com> | 2019-02-14 07:57:10 -0800 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2019-02-26 07:09:52 -0800 |
commit | 99dab386d38cf39fe2352c1743a66aa26bf6983d (patch) | |
tree | 19347a1021b6b8db990beb3f7744187b9cf7f0e8 /wifi/1.3/default/wifi_chip.cpp | |
parent | 8b41848ecd08b83b93e197e314a727444315e9a8 (diff) | |
download | android_hardware_interfaces-99dab386d38cf39fe2352c1743a66aa26bf6983d.tar.gz android_hardware_interfaces-99dab386d38cf39fe2352c1743a66aa26bf6983d.tar.bz2 android_hardware_interfaces-99dab386d38cf39fe2352c1743a66aa26bf6983d.zip |
wifi(implementation): Move set/getMacaddress to a util class
This is just a refactor to move the setMacAddress & getFactoryMacAddress
methods to a util class within the HAL. This can be then reused in AP
iface for mac randomization of SoftAp.
This also fixes a bug in the existing setMacAddress() method, the
current method always sets wlan0 up/down. STA interface could be wlan1
on some devices.
Bug: 78353419
Test: ./hardware/interfaces/wifi/1.3/default/tests/runtests.sh
Test: Manually verified STA MAC randomization still works.
Change-Id: I0bb8154f7e6dcae37c977454423c8c299762260e
Diffstat (limited to 'wifi/1.3/default/wifi_chip.cpp')
-rw-r--r-- | wifi/1.3/default/wifi_chip.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/wifi/1.3/default/wifi_chip.cpp b/wifi/1.3/default/wifi_chip.cpp index e7ebc3b1a..9640a61a8 100644 --- a/wifi/1.3/default/wifi_chip.cpp +++ b/wifi/1.3/default/wifi_chip.cpp @@ -313,10 +313,12 @@ using hidl_return_util::validateAndCallWithLock; WifiChip::WifiChip( ChipId chip_id, const std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal, const std::weak_ptr<mode_controller::WifiModeController> mode_controller, + const std::weak_ptr<iface_util::WifiIfaceUtil> iface_util, const std::weak_ptr<feature_flags::WifiFeatureFlags> feature_flags) : chip_id_(chip_id), legacy_hal_(legacy_hal), mode_controller_(mode_controller), + iface_util_(iface_util), feature_flags_(feature_flags), is_valid_(true), current_mode_id_(feature_flags::chip_mode_ids::kInvalid), @@ -775,7 +777,7 @@ std::pair<WifiStatus, sp<IWifiApIface>> WifiChip::createApIfaceInternal() { return {createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE), {}}; } std::string ifname = allocateApOrStaIfaceName(); - sp<WifiApIface> iface = new WifiApIface(ifname, legacy_hal_); + sp<WifiApIface> iface = new WifiApIface(ifname, legacy_hal_, iface_util_); ap_ifaces_.push_back(iface); for (const auto& callback : event_cb_handler_.getCallbacks()) { if (!callback->onIfaceAdded(IfaceType::AP, ifname).isOk()) { @@ -914,7 +916,7 @@ std::pair<WifiStatus, sp<IWifiStaIface>> WifiChip::createStaIfaceInternal() { return {createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE), {}}; } std::string ifname = allocateApOrStaIfaceName(); - sp<WifiStaIface> iface = new WifiStaIface(ifname, legacy_hal_); + sp<WifiStaIface> iface = new WifiStaIface(ifname, legacy_hal_, iface_util_); sta_ifaces_.push_back(iface); for (const auto& callback : event_cb_handler_.getCallbacks()) { if (!callback->onIfaceAdded(IfaceType::STA, ifname).isOk()) { |