diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-01-21 23:00:04 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-01-21 23:00:04 +0000 |
commit | a1ea4c6986d75b41b6df58d1de8511e113a5e6db (patch) | |
tree | 6119ce8a6ab6c0680bf9b4084f7f6f7558269b4e | |
parent | f3e50be0e28dc721f9728522566a52f1283698a0 (diff) | |
parent | afeb865147d76e965f7cb038fe09b3f09ce333df (diff) | |
download | cts-a1ea4c6986d75b41b6df58d1de8511e113a5e6db.tar.gz |
Merge "Allow bypassing fixed check for system components and platform-signed persistent privileged apps." into sc-v2-dev
-rw-r--r-- | common/device-side/util-axt/src/com/android/compatibility/common/util/BaseDefaultPermissionGrantPolicyTest.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/common/device-side/util-axt/src/com/android/compatibility/common/util/BaseDefaultPermissionGrantPolicyTest.java b/common/device-side/util-axt/src/com/android/compatibility/common/util/BaseDefaultPermissionGrantPolicyTest.java index 49208b1d5af..17663807182 100644 --- a/common/device-side/util-axt/src/com/android/compatibility/common/util/BaseDefaultPermissionGrantPolicyTest.java +++ b/common/device-side/util-axt/src/com/android/compatibility/common/util/BaseDefaultPermissionGrantPolicyTest.java @@ -81,6 +81,13 @@ public abstract class BaseDefaultPermissionGrantPolicyTest extends BusinessLogic public abstract Set<String> getRuntimePermissionNames(List<PackageInfo> packageInfos); /** + * Return the names of all the packages whose permissions can always be granted as fixed. + */ + public Set<String> getGrantAsFixedPackageNames(ArrayMap<String, PackageInfo> packagesToVerify) { + return Collections.emptySet(); + } + + /** * Returns whether the permission name, as defined in * {@link PermissionManager.SplitPermissionInfo#getNewPermissions()} * should be considered a violation. @@ -532,9 +539,10 @@ public abstract class BaseDefaultPermissionGrantPolicyTest extends BusinessLogic } } - public void checkDefaultGrantsInCorrectState(Map<String, PackageInfo> packagesToVerify, + public void checkDefaultGrantsInCorrectState(ArrayMap<String, PackageInfo> packagesToVerify, SparseArray<UidState> pregrantUidStates, Map<String, ArrayMap<String, ArraySet<String>>> violations) { + Set<String> grantAsFixedPackageNames = getGrantAsFixedPackageNames(packagesToVerify); PackageManager packageManager = getInstrumentation().getContext().getPackageManager(); for (PackageInfo packageInfo : packagesToVerify.values()) { final int uid = packageInfo.applicationInfo.uid; @@ -576,7 +584,8 @@ public abstract class BaseDefaultPermissionGrantPolicyTest extends BusinessLogic setPermissionGrantState(packageInfo.packageName, permission, false); - Boolean fixed = uidState.grantedPermissions.valueAt(i); + Boolean fixed = grantAsFixedPackageNames.contains(packageInfo.packageName) + || uidState.grantedPermissions.valueAt(i); // Weaker grant is fine, e.g. not-fixed instead of fixed. if (!fixed && packageManager.checkPermission(permission, packageInfo.packageName) |