diff options
-rw-r--r-- | PermissionController/res/xml/roles.xml | 12 | ||||
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/permission/utils/LocationUtils.java | 5 |
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()); } |