summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2019-12-20 00:58:56 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-12-20 00:58:56 +0000
commit16d412f69769bde18bb9efc10bd807210ab4d24d (patch)
tree5dea9020e6ca5818b9f69dc32d79b0d28fbd8269
parentb34478d20555aa46b3c39218feff83b65b83fe22 (diff)
parent176c62af0e049fa74f164758570e7308f3a259be (diff)
Merge "[CDM] Bypass location setting when scanning for devices"
-rw-r--r--service/java/com/android/server/wifi/util/WifiPermissionsUtil.java14
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) {