diff options
author | Eugene Susla <eugenesusla@google.com> | 2019-12-20 00:58:56 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-12-20 00:58:56 +0000 |
commit | 16d412f69769bde18bb9efc10bd807210ab4d24d (patch) | |
tree | 5dea9020e6ca5818b9f69dc32d79b0d28fbd8269 | |
parent | b34478d20555aa46b3c39218feff83b65b83fe22 (diff) | |
parent | 176c62af0e049fa74f164758570e7308f3a259be (diff) |
Merge "[CDM] Bypass location setting when scanning for devices"
-rw-r--r-- | service/java/com/android/server/wifi/util/WifiPermissionsUtil.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java b/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java index 9d87a6daa..63197ea6d 100644 --- a/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java +++ b/service/java/com/android/server/wifi/util/WifiPermissionsUtil.java @@ -219,10 +219,11 @@ public class WifiPermissionsUtil { checkPackage(uid, pkgName); // Apps with NETWORK_SETTINGS, NETWORK_SETUP_WIZARD, NETWORK_MANAGED_PROVISIONING, - // NETWORK_STACK & MAINLINE_NETWORK_STACK are granted a bypass. + // NETWORK_STACK & MAINLINE_NETWORK_STACK, RADIO_SCAN_WITHOUT_LOCATION are granted a bypass. if (checkNetworkSettingsPermission(uid) || checkNetworkSetupWizardPermission(uid) || checkNetworkManagedProvisioningPermission(uid) - || checkNetworkStackPermission(uid) || checkMainlineNetworkStackPermission(uid)) { + || checkNetworkStackPermission(uid) || checkMainlineNetworkStackPermission(uid) + || checkScanWithoutLocationPermission(uid)) { return; } @@ -433,6 +434,15 @@ public class WifiPermissionsUtil { } /** + * Returns true if the |uid| holds RADIO_SCAN_WITHOUT_LOCATION permission. + */ + public boolean checkScanWithoutLocationPermission(int uid) { + return mWifiPermissionsWrapper.getUidPermission( + android.Manifest.permission.RADIO_SCAN_WITHOUT_LOCATION, uid) + == PackageManager.PERMISSION_GRANTED; + } + + /** * Returns true if the |uid| holds LOCAL_MAC_ADDRESS permission. */ public boolean checkLocalMacAddressPermission(int uid) { |