diff options
| author | 2018-12-25 02:33:17 +0000 | |
|---|---|---|
| committer | 2018-12-25 02:33:17 +0000 | |
| commit | c6736732f13d0aa9488bd31e363f4261c0cd662f (patch) | |
| tree | f995d89b2777d8d339fd05d1dfb29f2d498da1c4 | |
| parent | 9feadb12f9a75ceb30663c0f6747f0bbd76aceab (diff) | |
| parent | eb620fab431dc9e934494d850e306409e6a441be (diff) | |
Merge "p2p: Add Location Permission check for P2p API"
| -rw-r--r-- | wifi/java/android/net/wifi/p2p/WifiP2pManager.java | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java index e0442f2fd5ae..068b959f14ca 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java @@ -311,12 +311,19 @@ public class WifiP2pManager { "android.net.wifi.p2p.EXTRA_HANDOVER_MESSAGE"; /** - * The lookup key for a calling package returned by the WifiP2pService. + * The lookup key for a calling package name from WifiP2pManager * @hide */ public static final String CALLING_PACKAGE = "android.net.wifi.p2p.CALLING_PACKAGE"; + /** + * The lookup key for a calling package binder from WifiP2pManager + * @hide + */ + public static final String CALLING_BINDER = + "android.net.wifi.p2p.CALLING_BINDER"; + IWifiP2pManager mService; private static final int BASE = Protocol.BASE_WIFI_P2P_MANAGER; @@ -536,6 +543,9 @@ public class WifiP2pManager { /** @hide */ public static final int RESPONSE_NETWORK_INFO = BASE + 95; + /** @hide */ + public static final int UPDATE_CHANNEL_INFO = BASE + 96; + /** * Create a new WifiP2pManager instance. Applications use * {@link android.content.Context#getSystemService Context.getSystemService()} to retrieve @@ -1098,6 +1108,11 @@ public class WifiP2pManager { Channel c = new Channel(srcContext, srcLooper, listener, binder, this); if (c.mAsyncChannel.connectSync(srcContext, c.mHandler, messenger) == AsyncChannel.STATUS_SUCCESSFUL) { + Bundle bundle = new Bundle(); + bundle.putString(CALLING_PACKAGE, c.mContext.getOpPackageName()); + bundle.putBinder(CALLING_BINDER, binder); + c.mAsyncChannel.sendMessage(UPDATE_CHANNEL_INFO, 0, + c.putListener(null), bundle); return c; } else { c.close(); @@ -1124,6 +1139,7 @@ public class WifiP2pManager { * @param c is the channel created at {@link #initialize} * @param listener for callbacks on success or failure. Can be null. */ + @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void discoverPeers(Channel c, ActionListener listener) { checkChannel(c); c.mAsyncChannel.sendMessage(DISCOVER_PEERS, 0, c.putListener(listener)); @@ -1167,6 +1183,7 @@ public class WifiP2pManager { * @param config options as described in {@link WifiP2pConfig} class * @param listener for callbacks on success or failure. Can be null. */ + @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void connect(Channel c, WifiP2pConfig config, ActionListener listener) { checkChannel(c); checkP2pConfig(config); @@ -1208,6 +1225,7 @@ public class WifiP2pManager { * @param c is the channel created at {@link #initialize} * @param listener for callbacks on success or failure. Can be null. */ + @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void createGroup(Channel c, ActionListener listener) { checkChannel(c); c.mAsyncChannel.sendMessage(CREATE_GROUP, WifiP2pGroup.PERSISTENT_NET_ID, @@ -1238,6 +1256,7 @@ public class WifiP2pManager { * @param config the configuration of a p2p group. * @param listener for callbacks on success or failure. Can be null. */ + @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void createGroup(@NonNull Channel c, @Nullable WifiP2pConfig config, @Nullable ActionListener listener) { @@ -1316,6 +1335,7 @@ public class WifiP2pManager { * @param servInfo is a local service information. * @param listener for callbacks on success or failure. Can be null. */ + @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void addLocalService(Channel c, WifiP2pServiceInfo servInfo, ActionListener listener) { checkChannel(c); checkServiceInfo(servInfo); @@ -1425,6 +1445,7 @@ public class WifiP2pManager { * @param c is the channel created at {@link #initialize} * @param listener for callbacks on success or failure. Can be null. */ + @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void discoverServices(Channel c, ActionListener listener) { checkChannel(c); c.mAsyncChannel.sendMessage(DISCOVER_SERVICES, 0, c.putListener(listener)); @@ -1500,12 +1521,10 @@ public class WifiP2pManager { * @param c is the channel created at {@link #initialize} * @param listener for callback when peer list is available. Can be null. */ + @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void requestPeers(Channel c, PeerListListener listener) { checkChannel(c); - Bundle callingPackage = new Bundle(); - callingPackage.putString(CALLING_PACKAGE, c.mContext.getOpPackageName()); - c.mAsyncChannel.sendMessage(REQUEST_PEERS, 0, c.putListener(listener), - callingPackage); + c.mAsyncChannel.sendMessage(REQUEST_PEERS, 0, c.putListener(listener)); } /** @@ -1525,6 +1544,7 @@ public class WifiP2pManager { * @param c is the channel created at {@link #initialize} * @param listener for callback when group info is available. Can be null. */ + @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void requestGroupInfo(Channel c, GroupInfoListener listener) { checkChannel(c); c.mAsyncChannel.sendMessage(REQUEST_GROUP_INFO, 0, c.putListener(listener)); @@ -1697,10 +1717,7 @@ public class WifiP2pManager { @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull Channel c, @Nullable ActionListener listener) { checkChannel(c); - Bundle callingPackage = new Bundle(); - callingPackage.putString(CALLING_PACKAGE, c.mContext.getOpPackageName()); - c.mAsyncChannel.sendMessage(FACTORY_RESET, 0, c.putListener(listener), - callingPackage); + c.mAsyncChannel.sendMessage(FACTORY_RESET, 0, c.putListener(listener)); } /** |