From e18ee48e19e85ab71edb50f1e169812e0e771982 Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Mon, 14 Nov 2022 13:51:16 -0800 Subject: [PATCH] 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 --- .../server/pm/permission/DefaultPermissionGrantPolicy.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 85882671a0630..50725d72282c8 100644 --- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java +++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java @@ -165,6 +165,11 @@ final class DefaultPermissionGrantPolicy { COARSE_BACKGROUND_LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_BACKGROUND_LOCATION); } + private static final Set FINE_LOCATION_PERMISSIONS = new ArraySet<>(); + static { + FINE_LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_FINE_LOCATION); + } + private static final Set 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); } }