From 72d6dca09e85627b47c94f9a6ebf37ea56291450 Mon Sep 17 00:00:00 2001 From: Sohani Rao Date: Mon, 19 Sep 2016 13:36:13 -0700 Subject: [PATCH] Update REQUEST_PEERS message with calling package The service enforces location permissions on the caller, verifies the calling package is registered with the uid. BUG: 30760540 Test: Unit tests, P2p scan to get peer list and establishing a Wifi Direct connection Change-Id: Ia0eb466a370a00c0264944871ce348841a17abc3 Merged-In: Ia0eb466a370a00c0264944871ce348841a17abc3 --- wifi/java/android/net/wifi/p2p/WifiP2pManager.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java index 8d5cf6319d24d..398308dd2427c 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java @@ -283,6 +283,13 @@ public class WifiP2pManager { public static final String EXTRA_HANDOVER_MESSAGE = "android.net.wifi.p2p.EXTRA_HANDOVER_MESSAGE"; + /** + * The lookup key for a calling package returned by the WifiP2pService. + * @hide + */ + public static final String CALLING_PACKAGE = + "android.net.wifi.p2p.CALLING_PACKAGE"; + IWifiP2pManager mService; private static final int BASE = Protocol.BASE_WIFI_P2P_MANAGER; @@ -1271,7 +1278,10 @@ public class WifiP2pManager { */ public void requestPeers(Channel c, PeerListListener listener) { checkChannel(c); - c.mAsyncChannel.sendMessage(REQUEST_PEERS, 0, c.putListener(listener)); + Bundle callingPackage = new Bundle(); + callingPackage.putString(CALLING_PACKAGE, c.mContext.getOpPackageName()); + c.mAsyncChannel.sendMessage(REQUEST_PEERS, 0, c.putListener(listener), + callingPackage); } /**