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:
@@ -1100,16 +1100,19 @@ public class PermissionManagerService {
|
|||||||
// case of OS update
|
// case of OS update
|
||||||
if (mPackageManagerInt.getInstalledSdkVersion(pkg)
|
if (mPackageManagerInt.getInstalledSdkVersion(pkg)
|
||||||
< Build.VERSION_CODES.Q) {
|
< 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;
|
for (int splitPermNum = 0; splitPermNum < numSplitPerms;
|
||||||
splitPermNum++) {
|
splitPermNum++) {
|
||||||
PermissionManager.SplitPermissionInfo sp =
|
PermissionManager.SplitPermissionInfo sp =
|
||||||
PermissionManager.SPLIT_PERMISSIONS.get(splitPermNum);
|
permissionList.get(splitPermNum);
|
||||||
String splitPermName = sp.getSplitPermission();
|
String splitPermName = sp.getSplitPermission();
|
||||||
if (sp.getNewPermissions().contains(permName)
|
if (sp.getNewPermissions().contains(permName)
|
||||||
&& origPermissions.hasInstallPermission(splitPermName)) {
|
&& origPermissions.hasInstallPermission(splitPermName)) {
|
||||||
upgradedActivityRecognitionPermission = splitPermName;
|
upgradedActivityRecognitionPermission = splitPermName;
|
||||||
newImplicitPermissions.add(permName);
|
newImplicitPermissions.add(permName);
|
||||||
|
|
||||||
if (DEBUG_PERMISSIONS) {
|
if (DEBUG_PERMISSIONS) {
|
||||||
Slog.i(TAG, permName + " is newly added for "
|
Slog.i(TAG, permName + " is newly added for "
|
||||||
+ pkg.packageName);
|
+ pkg.packageName);
|
||||||
|
|||||||
Reference in New Issue
Block a user