diff options
author | Joe Farfel <jfarfel@google.com> | 2014-10-09 18:49:07 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-10-09 18:49:08 +0000 |
commit | f15171c10c8df5603c3ba7a2fa80138e151028fc (patch) | |
tree | e13c469db62b80d7f15270d916a6327a862e303e | |
parent | a0708b09ad17b086c008ab100aec7143d7613c80 (diff) | |
parent | 07a55aa0236fc5d1b05c5d54c6ff8d42d881b4bb (diff) | |
download | wifi-f15171c10c8df5603c3ba7a2fa80138e151028fc.tar.gz |
Merge "Change access to P2pStateMachine messenger." into lmp-dev
-rw-r--r-- | service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java | 19 |
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()); |