Merge "Skipping test on GSI + first_api_level < U" into main
diff --git a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
index 06e0f58..0c86a27 100644
--- a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
+++ b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
@@ -328,7 +328,16 @@
* which is mandatory for KeyMint version 2 and first_api_level 33 or greater.
*/
bool KeyMintAidlTestBase::isDeviceIdAttestationRequired() {
- return AidlVersion() >= 2 && property_get_int32("ro.vendor.api_level", 0) >= __ANDROID_API_T__;
+ if (!is_gsi_image()) {
+ return AidlVersion() >= 2 &&
+ get_vendor_api_level() >= AVendorSupport_getVendorApiLevelOf(__ANDROID_API_T__);
+ } else {
+ // The device ID properties may not be set properly when testing earlier implementations
+ // under GSI, e.g. `ro.product.<id>` is overridden by the GSI image, but the
+ // `ro.product.vendor.<id>` value (which does survive GSI installation) was not set.
+ return AidlVersion() >= 2 &&
+ get_vendor_api_level() >= AVendorSupport_getVendorApiLevelOf(__ANDROID_API_U__);
+ }
}
/**