summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2017-03-17 17:16:00 -0700
committerRoshan Pius <rpius@google.com>2017-03-21 11:26:08 -0700
commit1555c030405df64cb4c52cff44598e678045b82b (patch)
tree4ac733833c9476750928629e738bf83499bf1d76
parent163f9765f9e4c3f868b1e0d630b6adeaa115fb4a (diff)
SupplicantP2pIfaceHal: Add the 2 missing callback handling
Bug: 36401779 Test: Compiles Change-Id: If7c3473b461021b1cf13763e6228ef791b758b52
-rw-r--r--service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceCallback.java16
-rw-r--r--service/java/com/android/server/wifi/p2p/WifiP2pMonitor.java18
2 files changed, 34 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceCallback.java b/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceCallback.java
index 6f3878cf4..c7004adf9 100644
--- a/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceCallback.java
+++ b/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceCallback.java
@@ -463,6 +463,14 @@ public class SupplicantP2pIfaceCallback extends ISupplicantP2pIfaceCallback.Stub
*/
public void onStaAuthorized(byte[] srcAddress, byte[] p2pDeviceAddress) {
logd("STA authorized on " + mInterface);
+ WifiP2pDevice device = new WifiP2pDevice();
+ try {
+ device.deviceAddress = NativeUtil.macAddressFromByteArray(p2pDeviceAddress);
+ } catch (Exception e) {
+ Log.e(TAG, "Could not decode MAC address.", e);
+ return;
+ }
+ mMonitor.broadcastP2pApStaConnected(mInterface, device);
}
@@ -474,6 +482,14 @@ public class SupplicantP2pIfaceCallback extends ISupplicantP2pIfaceCallback.Stub
*/
public void onStaDeauthorized(byte[] srcAddress, byte[] p2pDeviceAddress) {
logd("STA deauthorized on " + mInterface);
+ WifiP2pDevice device = new WifiP2pDevice();
+ try {
+ device.deviceAddress = NativeUtil.macAddressFromByteArray(p2pDeviceAddress);
+ } catch (Exception e) {
+ Log.e(TAG, "Could not decode MAC address.", e);
+ return;
+ }
+ mMonitor.broadcastP2pApStaDisconnected(mInterface, device);
}
diff --git a/service/java/com/android/server/wifi/p2p/WifiP2pMonitor.java b/service/java/com/android/server/wifi/p2p/WifiP2pMonitor.java
index 37b4d6807..50fd9325f 100644
--- a/service/java/com/android/server/wifi/p2p/WifiP2pMonitor.java
+++ b/service/java/com/android/server/wifi/p2p/WifiP2pMonitor.java
@@ -506,4 +506,22 @@ public class WifiP2pMonitor {
String iface, List<WifiP2pServiceResponse> services) {
sendMessage(iface, P2P_SERV_DISC_RESP_EVENT, services);
}
+
+ /**
+ * Broadcast AP STA connection event.
+ *
+ * @param iface Name of iface on which this occurred.
+ */
+ public void broadcastP2pApStaConnected(String iface, WifiP2pDevice device) {
+ sendMessage(iface, AP_STA_CONNECTED_EVENT, device);
+ }
+
+ /**
+ * Broadcast AP STA disconnection event.
+ *
+ * @param iface Name of iface on which this occurred.
+ */
+ public void broadcastP2pApStaDisconnected(String iface, WifiP2pDevice device) {
+ sendMessage(iface, AP_STA_DISCONNECTED_EVENT, device);
+ }
}