From 4aee25fa696fcd2ffabfb8d2bab5c14e8272e61c Mon Sep 17 00:00:00 2001 From: lesl Date: Mon, 17 Aug 2020 17:55:59 +0800 Subject: [PATCH] wifi: Add Mobile Hotspot(MHS) info callback The info includes AP's frequency, bandwidth and generation(operational mode). Bug: 163288112 Test: Manuel Test. Hotspot works normally. Test: atest VtsHalWifiHostapdV1_0TargetTest Test: atest VtsHalWifiHostapdV1_1TargetTest Test: atest VtsHalWifiHostapdV1_2TargetTest Change-Id: I5ff640169f10178fac196d17cadbfeedd2787fc0 --- wifi/hostapd/1.3/IHostapdCallback.hal | 20 ++++++++++++++++++-- wifi/hostapd/1.3/types.hal | 15 ++++++++++++++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/wifi/hostapd/1.3/IHostapdCallback.hal b/wifi/hostapd/1.3/IHostapdCallback.hal index 4db470de43..98cde67f71 100644 --- a/wifi/hostapd/1.3/IHostapdCallback.hal +++ b/wifi/hostapd/1.3/IHostapdCallback.hal @@ -18,18 +18,34 @@ package android.hardware.wifi.hostapd@1.3; import @1.1::IHostapdCallback; import @1.2::MacAddress; +import Bandwidth; import Generation; /** * Top-level callback object for managing SoftAPs. */ interface IHostapdCallback extends @1.1::IHostapdCallback { - oneway onInterfaceInfoChanged(string ifaceName, Generation generation); + /** + * Invoked when information changes for one of the AP instances. + * + * @param ifaceName Name of the interface which was added via + * |IHostapd.addAccessPoint|. + * @param apIfaceInstance The identity of the AP instance. The interface + * will have two instances (e.q. 2.4 Ghz AP and 5 GHz AP) in dual AP mode. + * The apIfaceInstance can be used to identify which instance the callback + * is from. + * Note: The apIfaceInstance must be same as ifaceName in single AP mode. + * @param freq The operational frequency of the AP. + * @param bandwidth The operational bandwidth of the AP. + * @param generation The operational mode of the AP (e.g. 11ac, 11ax). + */ + oneway onApInstanceInfoChanged(string ifaceName, string apIfaceInstance, uint32_t freq, + Bandwidth bandwidth, Generation generation); /** * Invoked when a client connects/disconnects from the hotspot. * - * @param ifaceName Name of the interface which is added via + * @param ifaceName Name of the interface which was added via * |IHostapd.addAccessPoint|. * @param apIfaceInstance The identity of the AP instance. The interface * will have two instances in dual AP mode. The apIfaceInstance can be used diff --git a/wifi/hostapd/1.3/types.hal b/wifi/hostapd/1.3/types.hal index 887ea0fc25..de85043e84 100644 --- a/wifi/hostapd/1.3/types.hal +++ b/wifi/hostapd/1.3/types.hal @@ -17,7 +17,7 @@ package android.hardware.wifi.hostapd@1.3; /** - * The wifi generation which AP reside on. + * The wifi operational mode of the AP. * It depends on hw mode and HT/VHT capabilities in hostapd. * * WIFI_STANDARD_LEGACY = (hw_mode is HOSTAPD_MODE_IEEE80211B) or @@ -34,3 +34,16 @@ enum Generation : uint32_t { WIFI_STANDARD_11AC = 2, WIFI_STANDARD_11AX = 3, }; + +/** + * The channel bandwidth of the AP. + */ +enum Bandwidth : uint32_t { + WIFI_BANDWIDTH_INVALID = 0, + WIFI_BANDWIDTH_20_NOHT = 1, + WIFI_BANDWIDTH_20 = 2, + WIFI_BANDWIDTH_40 = 3, + WIFI_BANDWIDTH_80 = 4, + WIFI_BANDWIDTH_80P80 = 5, + WIFI_BANDWIDTH_160 = 6, +};