Revoke FINE_LOCATION from Voice interactions if granted by default

If the FINE_LOCATION permission is granted to the voice interaction
service, and it is not user set, revoke it in the
DefaultPermissionGrantPolicy

Test: manual
Bug: 230859338
Change-Id: I952919d51d9e36019f2a1e910ae763e1a4e1f069
This commit is contained in:
Nate Myren
2022-11-14 13:51:16 -08:00
parent 8e0eb90b06
commit e18ee48e19

View File

@@ -165,6 +165,11 @@ final class DefaultPermissionGrantPolicy {
COARSE_BACKGROUND_LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_BACKGROUND_LOCATION);
}
private static final Set<String> FINE_LOCATION_PERMISSIONS = new ArraySet<>();
static {
FINE_LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_FINE_LOCATION);
}
private static final Set<String> ACTIVITY_RECOGNITION_PERMISSIONS = new ArraySet<>();
static {
ACTIVITY_RECOGNITION_PERMISSIONS.add(Manifest.permission.ACTIVITY_RECOGNITION);
@@ -783,6 +788,8 @@ final class DefaultPermissionGrantPolicy {
CONTACTS_PERMISSIONS, CALENDAR_PERMISSIONS, MICROPHONE_PERMISSIONS,
PHONE_PERMISSIONS, SMS_PERMISSIONS, COARSE_BACKGROUND_LOCATION_PERMISSIONS,
NEARBY_DEVICES_PERMISSIONS, NOTIFICATION_PERMISSIONS);
revokeRuntimePermissions(pm, voiceInteractPackageName, FINE_LOCATION_PERMISSIONS,
false, userId);
}
}