From d91c540c170ce76d0448bdc1d3cea4b8bcd81278 Mon Sep 17 00:00:00 2001 From: lesl Date: Mon, 10 Aug 2020 13:23:29 +0800 Subject: [PATCH] wifi: Add client connected callback Add client connected callback support on hostapd HIDL interface Bug: 163288112 Test: Manuel Test. Hotspot works normally. Test: atest VtsHalWifiHostapdV1_0TargetTest Test: atest VtsHalWifiHostapdV1_1TargetTest Test: atest VtsHalWifiHostapdV1_2TargetTest Change-Id: Ib0a41b3ef4a46c7c4bf1ed6e01b31ce3a334a213 --- wifi/hostapd/1.3/IHostapd.hal | 5 ++--- wifi/hostapd/1.3/IHostapdCallback.hal | 17 +++++++++++++++++ wifi/hostapd/1.3/types.hal | 1 - 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/wifi/hostapd/1.3/IHostapd.hal b/wifi/hostapd/1.3/IHostapd.hal index 7ac20e43e5..d16448d074 100644 --- a/wifi/hostapd/1.3/IHostapd.hal +++ b/wifi/hostapd/1.3/IHostapd.hal @@ -18,8 +18,8 @@ package android.hardware.wifi.hostapd@1.3; import @1.2::IHostapd; import @1.2::HostapdStatus; - import IHostapdCallback; + /** * Top-level object for managing SoftAPs. */ @@ -39,6 +39,5 @@ interface IHostapd extends @1.2::IHostapd { * |HostapdStatusCode.SUCCESS|, * |HostapdStatusCode.FAILURE_UNKNOWN| */ - registerCallback_1_3(IHostapdCallback callback) - generates (HostapdStatus status); + registerCallback_1_3(IHostapdCallback callback) generates (HostapdStatus status); }; diff --git a/wifi/hostapd/1.3/IHostapdCallback.hal b/wifi/hostapd/1.3/IHostapdCallback.hal index 5202178935..4db470de43 100644 --- a/wifi/hostapd/1.3/IHostapdCallback.hal +++ b/wifi/hostapd/1.3/IHostapdCallback.hal @@ -17,6 +17,7 @@ package android.hardware.wifi.hostapd@1.3; import @1.1::IHostapdCallback; +import @1.2::MacAddress; import Generation; /** @@ -24,4 +25,20 @@ import Generation; */ interface IHostapdCallback extends @1.1::IHostapdCallback { oneway onInterfaceInfoChanged(string ifaceName, Generation generation); + + /** + * Invoked when a client connects/disconnects from the hotspot. + * + * @param ifaceName Name of the interface which is 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 + * to identify which instance the callback is from. + * Note: The apIfaceInstance must be same as ifaceName in single AP mode. + * @param clientAddress Mac Address of hotspot client. + * @param isConnected true when client connected, false when client + * disconnected. + */ + oneway onConnectedClientsChanged(string ifaceName, string apIfaceInstance, + MacAddress clientAddress, bool isConnected); }; diff --git a/wifi/hostapd/1.3/types.hal b/wifi/hostapd/1.3/types.hal index ce092c07a9..887ea0fc25 100644 --- a/wifi/hostapd/1.3/types.hal +++ b/wifi/hostapd/1.3/types.hal @@ -34,4 +34,3 @@ enum Generation : uint32_t { WIFI_STANDARD_11AC = 2, WIFI_STANDARD_11AX = 3, }; -