summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Farfel <jfarfel@google.com>2014-10-09 18:49:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-10-09 18:49:08 +0000
commitf15171c10c8df5603c3ba7a2fa80138e151028fc (patch)
treee13c469db62b80d7f15270d916a6327a862e303e
parenta0708b09ad17b086c008ab100aec7143d7613c80 (diff)
parent07a55aa0236fc5d1b05c5d54c6ff8d42d881b4bb (diff)
downloadwifi-f15171c10c8df5603c3ba7a2fa80138e151028fc.tar.gz
Merge "Change access to P2pStateMachine messenger." into lmp-dev
-rw-r--r--service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java b/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java
index d198c0bf4..e5ed6906e 100644
--- a/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java
+++ b/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java
@@ -398,6 +398,23 @@ public final class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
"WifiP2pService");
}
+ private int checkConnectivityInternalPermission() {
+ return mContext.checkCallingOrSelfPermission(
+ android.Manifest.permission.CONNECTIVITY_INTERNAL);
+ }
+
+ private int checkLocationHardwarePermission() {
+ return mContext.checkCallingOrSelfPermission(
+ android.Manifest.permission.LOCATION_HARDWARE);
+ }
+
+ private void enforceConnectivityInternalOrLocationHardwarePermission() {
+ if (checkConnectivityInternalPermission() != PackageManager.PERMISSION_GRANTED
+ && checkLocationHardwarePermission() != PackageManager.PERMISSION_GRANTED) {
+ enforceConnectivityInternalPermission();
+ }
+ }
+
/**
* Get a reference to handler. This is used by a client to establish
* an AsyncChannel communication with WifiP2pService
@@ -414,7 +431,7 @@ public final class WifiP2pServiceImpl extends IWifiP2pManager.Stub {
* @hide
*/
public Messenger getP2pStateMachineMessenger() {
- enforceConnectivityInternalPermission();
+ enforceConnectivityInternalOrLocationHardwarePermission();
enforceAccessPermission();
enforceChangePermission();
return new Messenger(mP2pStateMachine.getHandler());