summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-01-22 09:05:01 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-01-22 09:05:01 +0000
commit439332edc6894c3e48d6fad04aa29bd0e5c8160a (patch)
tree6119ce8a6ab6c0680bf9b4084f7f6f7558269b4e
parent7dd1303f4fe8b7e4b27e3560bea19cebd9561c4d (diff)
parent5382c89910b5e62b4e243c7551cdac7a4f995191 (diff)
downloadcts-439332edc6894c3e48d6fad04aa29bd0e5c8160a.tar.gz
Snap for 8106811 from 5382c89910b5e62b4e243c7551cdac7a4f995191 to sc-d2-release
Change-Id: I2b64e1c5226183494b6cb8a14533490951a4327b
-rw-r--r--common/device-side/util-axt/src/com/android/compatibility/common/util/BaseDefaultPermissionGrantPolicyTest.java13
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)