From e37a0ac9f8048e45c6ef239560bab31c6a9eb93f Mon Sep 17 00:00:00 2001 From: Ganesh Olekar Date: Wed, 11 May 2022 22:15:21 +0000 Subject: 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 84b1160cfc382f86af57f50d27864276d6c93f4a) --- .../com/android/server/pm/permission/PermissionManagerService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java index 2a4e700a020f..42ed16268919 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java @@ -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 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); -- cgit v1.2.3-59-g8ed1b