diff options
author | Calvin On <con@google.com> | 2018-12-12 15:43:28 -0800 |
---|---|---|
committer | Calvin On <con@google.com> | 2018-12-18 13:43:13 -0800 |
commit | 5eda9dd0379409d02615b51145359a8a2e33bb8a (patch) | |
tree | 1dfab77475b1bb16021c5641e3c528b595e44199 | |
parent | 4510b4444f1e820f769ff0cfddfe3c43cc3c7f48 (diff) |
Add bg location access for companiondevicemanager
companiondevicemanager only runs in the background
and needs location access to handle BT scan results.
Bug: 120224777
Test: Build/flash on Taimen, ensure BT scan results
show up when initiated from WearOS app.
Change-Id: Ib90eb708553f83f003256162252d418f5e91dc10
-rw-r--r-- | packages/CompanionDeviceManager/AndroidManifest.xml | 1 | ||||
-rw-r--r-- | services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/packages/CompanionDeviceManager/AndroidManifest.xml b/packages/CompanionDeviceManager/AndroidManifest.xml index 34bc4ebcd0aa..0be71e6d17b9 100644 --- a/packages/CompanionDeviceManager/AndroidManifest.xml +++ b/packages/CompanionDeviceManager/AndroidManifest.xml @@ -26,6 +26,7 @@ <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> + <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> diff --git a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java index 51619cf940a8..164af38be5a6 100644 --- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java +++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java @@ -143,6 +143,13 @@ public final class DefaultPermissionGrantPolicy { LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_COARSE_LOCATION); } + private static final Set<String> ALWAYS_LOCATION_PERMISSIONS = new ArraySet<>(); + static { + ALWAYS_LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_FINE_LOCATION); + ALWAYS_LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_COARSE_LOCATION); + ALWAYS_LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_BACKGROUND_LOCATION); + } + private static final Set<String> ACTIVITY_RECOGNITION_PERMISSIONS = new ArraySet<>(); static { ACTIVITY_RECOGNITION_PERMISSIONS.add(Manifest.permission.ACTIVITY_RECOGNITION); @@ -690,7 +697,7 @@ public final class DefaultPermissionGrantPolicy { // Companion devices grantSystemFixedPermissionsToSystemPackage( CompanionDeviceManager.COMPANION_DEVICE_DISCOVERY_PACKAGE_NAME, userId, - LOCATION_PERMISSIONS); + ALWAYS_LOCATION_PERMISSIONS); // Ringtone Picker grantSystemFixedPermissionsToSystemPackage( |