Merge "Revert "Don't re-prompt for VISUAL/AURAL after app upgrade"" into tm-dev

This commit is contained in:
Greg Kaiser
2022-04-22 18:14:18 +00:00
committed by Android (Google) Code Review

View File

@@ -195,11 +195,6 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
/** All storage permissions */ /** All storage permissions */
private static final List<String> STORAGE_PERMISSIONS = new ArrayList<>(); private static final List<String> STORAGE_PERMISSIONS = new ArrayList<>();
private static final Set<String> READ_MEDIA_AURAL_PERMISSIONS = new ArraySet<>();
private static final Set<String> READ_MEDIA_VISUAL_PERMISSIONS = new ArraySet<>();
/** All nearby devices permissions */ /** All nearby devices permissions */
private static final List<String> NEARBY_DEVICES_PERMISSIONS = new ArrayList<>(); private static final List<String> NEARBY_DEVICES_PERMISSIONS = new ArrayList<>();
@@ -227,10 +222,10 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
Manifest.permission.INTERACT_ACROSS_USERS_FULL); Manifest.permission.INTERACT_ACROSS_USERS_FULL);
STORAGE_PERMISSIONS.add(Manifest.permission.READ_EXTERNAL_STORAGE); STORAGE_PERMISSIONS.add(Manifest.permission.READ_EXTERNAL_STORAGE);
STORAGE_PERMISSIONS.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); STORAGE_PERMISSIONS.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
READ_MEDIA_AURAL_PERMISSIONS.add(Manifest.permission.READ_MEDIA_AUDIO); STORAGE_PERMISSIONS.add(Manifest.permission.ACCESS_MEDIA_LOCATION);
READ_MEDIA_VISUAL_PERMISSIONS.add(Manifest.permission.READ_MEDIA_VIDEO); STORAGE_PERMISSIONS.add(Manifest.permission.READ_MEDIA_AUDIO);
READ_MEDIA_VISUAL_PERMISSIONS.add(Manifest.permission.READ_MEDIA_IMAGES); STORAGE_PERMISSIONS.add(Manifest.permission.READ_MEDIA_IMAGES);
READ_MEDIA_VISUAL_PERMISSIONS.add(Manifest.permission.ACCESS_MEDIA_LOCATION); STORAGE_PERMISSIONS.add(Manifest.permission.READ_MEDIA_VIDEO);
NEARBY_DEVICES_PERMISSIONS.add(Manifest.permission.BLUETOOTH_ADVERTISE); NEARBY_DEVICES_PERMISSIONS.add(Manifest.permission.BLUETOOTH_ADVERTISE);
NEARBY_DEVICES_PERMISSIONS.add(Manifest.permission.BLUETOOTH_CONNECT); NEARBY_DEVICES_PERMISSIONS.add(Manifest.permission.BLUETOOTH_CONNECT);
NEARBY_DEVICES_PERMISSIONS.add(Manifest.permission.BLUETOOTH_SCAN); NEARBY_DEVICES_PERMISSIONS.add(Manifest.permission.BLUETOOTH_SCAN);
@@ -2075,10 +2070,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
PermissionInfo permInfo = getPermissionInfo( PermissionInfo permInfo = getPermissionInfo(
newPackage.getRequestedPermissions().get(i), newPackage.getRequestedPermissions().get(i),
newPackage.getPackageName(), 0); newPackage.getPackageName(), 0);
boolean isStorageOrMedia = STORAGE_PERMISSIONS.contains(permInfo.name) if (permInfo == null || !STORAGE_PERMISSIONS.contains(permInfo.name)) {
|| READ_MEDIA_AURAL_PERMISSIONS.contains(permInfo.name)
|| READ_MEDIA_VISUAL_PERMISSIONS.contains(permInfo.name);
if (permInfo == null || !isStorageOrMedia) {
continue; continue;
} }
@@ -3152,9 +3144,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
} }
if (bp.isRuntime()) { if (bp.isRuntime()) {
if (!(newPerm.equals(Manifest.permission.ACTIVITY_RECOGNITION) if (!newPerm.equals(Manifest.permission.ACTIVITY_RECOGNITION)) {
|| READ_MEDIA_AURAL_PERMISSIONS.contains(newPerm)
|| READ_MEDIA_VISUAL_PERMISSIONS.contains(newPerm))) {
ps.updatePermissionFlags(bp, ps.updatePermissionFlags(bp,
FLAG_PERMISSION_REVOKE_WHEN_REQUESTED, FLAG_PERMISSION_REVOKE_WHEN_REQUESTED,
FLAG_PERMISSION_REVOKE_WHEN_REQUESTED); FLAG_PERMISSION_REVOKE_WHEN_REQUESTED);