DO NOT MERGE Fix auto-grant of AR runtime permission if device is upgrading from pre-Q

Test: Manually install app apks targeting Q and verifying that AR permission is not auto-granted
Test: atest ActivityRecognitionPermissionTest
Bug: 210065877
Change-Id: I90adf45a6611ab8bc953765c72af77a6a4f7aae8
(cherry picked from commit 84b1160cfc)
This commit is contained in:
Ganesh Olekar
2022-05-11 22:15:21 +00:00
parent dc45b9fed3
commit e37a0ac9f8

View File

@@ -1100,16 +1100,19 @@ public class PermissionManagerService {
// case of OS update
if (mPackageManagerInt.getInstalledSdkVersion(pkg)
< Build.VERSION_CODES.Q) {
int numSplitPerms = PermissionManager.SPLIT_PERMISSIONS.size();
final List<PermissionManager.SplitPermissionInfo> permissionList =
getSplitPermissions();
int numSplitPerms = permissionList.size();
for (int splitPermNum = 0; splitPermNum < numSplitPerms;
splitPermNum++) {
PermissionManager.SplitPermissionInfo sp =
PermissionManager.SPLIT_PERMISSIONS.get(splitPermNum);
permissionList.get(splitPermNum);
String splitPermName = sp.getSplitPermission();
if (sp.getNewPermissions().contains(permName)
&& origPermissions.hasInstallPermission(splitPermName)) {
upgradedActivityRecognitionPermission = splitPermName;
newImplicitPermissions.add(permName);
if (DEBUG_PERMISSIONS) {
Slog.i(TAG, permName + " is newly added for "
+ pkg.packageName);