summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/res/xml/roles.xml12
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/utils/LocationUtils.java5
2 files changed, 16 insertions, 1 deletions
diff --git a/PermissionController/res/xml/roles.xml b/PermissionController/res/xml/roles.xml
index 1b6ce51fd..3b351a54b 100644
--- a/PermissionController/res/xml/roles.xml
+++ b/PermissionController/res/xml/roles.xml
@@ -440,4 +440,16 @@
<app-op name="android:write_media_video" mode="allowed" />
</app-ops>
</role>
+
+ <!---
+ ~ A role for the system package that serves as the activity recognizer on the device.
+ ~ This is the application that provides the data behind the activity recognition
+ ~ runtime permission.
+ -->
+ <role
+ name="android.app.role.SYSTEM_ACTIVITY_RECOGNIZER"
+ defaultHolders="config_systemActivityRecognizer"
+ exclusive="true"
+ systemOnly="true"
+ visible="false" />
</roles>
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/LocationUtils.java b/PermissionController/src/com/android/permissioncontroller/permission/utils/LocationUtils.java
index 1c29ea184..712a999c6 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/utils/LocationUtils.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/LocationUtils.java
@@ -43,6 +43,8 @@ import java.util.ArrayList;
public class LocationUtils {
public static final String LOCATION_PERMISSION = Manifest.permission_group.LOCATION;
+ public static final String ACTIVITY_RECOGNITION_PERMISSION =
+ Manifest.permission_group.ACTIVITY_RECOGNITION;
private static final String TAG = LocationUtils.class.getSimpleName();
private static final long LOCATION_UPDATE_DELAY_MS = 1000;
@@ -90,7 +92,8 @@ public class LocationUtils {
public static boolean isLocationGroupAndControllerExtraPackage(@NonNull Context context,
@NonNull String groupName, @NonNull String packageName) {
- return LOCATION_PERMISSION.equals(groupName)
+ return (LOCATION_PERMISSION.equals(groupName)
+ || ACTIVITY_RECOGNITION_PERMISSION.equals(groupName))
&& packageName.equals(context.getSystemService(LocationManager.class)
.getExtraLocationControllerPackage());
}