Use the new ro.vendor.api_level for the test screening

In 24Q2, vendor api level was frozen with the api level 202404.
Use this version instead of SDK api level.
ro.vendor.api_level already provides the minimum of the vendor api
level and the product first api level. Read the property to get the
api level for the test screening.
Some tests are required to not only the launching devices but also to
upgrading devices. Read the PropertyUtil.getVendorApiLevel() in this
case.

Bug: 341608258
Test: atest VtsGpuTests
(cherry picked from https://android-review.googlesource.com/q/commit:548ec4b7b2598a40741190d7cdbc90b9081c0f7d)
Merged-In: Id24179f6f9f3208362ed0b463844e759c18d3099
Change-Id: Id24179f6f9f3208362ed0b463844e759c18d3099
diff --git a/tests/gpu_test/src/com/android/gpu/vts/Build.java b/tests/gpu_test/src/com/android/gpu/vts/Build.java
index 7ce8703..08953fe 100644
--- a/tests/gpu_test/src/com/android/gpu/vts/Build.java
+++ b/tests/gpu_test/src/com/android/gpu/vts/Build.java
@@ -51,5 +51,6 @@
     public static final int SC_V2 = 32; // provisional
     public static final int TM = 33; // provisional
     public static final int UDC = 34; // provisional
-    public static final int VIC = 35; // provisional
+    // vendor api levels are decoupled from the SDK version in Android VIC
+    public static final int VENDOR_24Q2 = 202404;
 }
diff --git a/tests/gpu_test/src/com/android/gpu/vts/OpenGlEsTest.java b/tests/gpu_test/src/com/android/gpu/vts/OpenGlEsTest.java
index 348ba81..a55683e 100644
--- a/tests/gpu_test/src/com/android/gpu/vts/OpenGlEsTest.java
+++ b/tests/gpu_test/src/com/android/gpu/vts/OpenGlEsTest.java
@@ -53,11 +53,11 @@
             case Build.UDC:
                 requiredOpenGlEsDeqpLevel = VulkanTest.DEQP_LEVEL_FOR_T;
                 break;
-            case Build.VIC:
+            case Build.VENDOR_24Q2:
                 requiredOpenGlEsDeqpLevel = VulkanTest.DEQP_LEVEL_FOR_V;
                 break;
             default:
-                fail("Test should only run for API levels: S, Sv2, T, UDC, VIC...");
+                fail("Test should only run for API levels: S, Sv2, T, UDC, 202404...");
                 return;
         }
 
diff --git a/tests/gpu_test/src/com/android/gpu/vts/Util.java b/tests/gpu_test/src/com/android/gpu/vts/Util.java
index fbd3980..324228b 100644
--- a/tests/gpu_test/src/com/android/gpu/vts/Util.java
+++ b/tests/gpu_test/src/com/android/gpu/vts/Util.java
@@ -27,13 +27,12 @@
 
     public static int getVendorApiLevelOrFirstProductApiLevel(final ITestDevice device)
             throws DeviceNotAvailableException {
-        final int vendorApiLevel = PropertyUtil.getVendorApiLevel(device);
-        final int firstProductApiLevel = PropertyUtil.getFirstApiLevel(device);
-
-        LogUtil.CLog.i("Vendor API level: %d", vendorApiLevel);
-        LogUtil.CLog.i("First product API level: %d", firstProductApiLevel);
-
-        return Math.min(vendorApiLevel, firstProductApiLevel);
+        // ro.vendor.api_level already has the minimum of the vendor api level
+        // and the product first api level. It can be read from
+        // PropertyUtil.getVsrApiLevel(device)
+        final int vendorApiLevel = PropertyUtil.getVsrApiLevel(device);
+        LogUtil.CLog.i("ro.vendor.api_level: %d", vendorApiLevel);
+        return vendorApiLevel;
     }
 
     public static boolean isHandheld(final ITestDevice device) throws DeviceNotAvailableException {
diff --git a/tests/gpu_test/src/com/android/gpu/vts/VulkanTest.java b/tests/gpu_test/src/com/android/gpu/vts/VulkanTest.java
index 2e145d4..50005d3 100644
--- a/tests/gpu_test/src/com/android/gpu/vts/VulkanTest.java
+++ b/tests/gpu_test/src/com/android/gpu/vts/VulkanTest.java
@@ -224,11 +224,11 @@
             case Build.UDC:
                 requiredVulkanDeqpLevel = DEQP_LEVEL_FOR_U;
                 break;
-            case Build.VIC:
+            case Build.VENDOR_24Q2:
                 requiredVulkanDeqpLevel = DEQP_LEVEL_FOR_V;
                 break;
             default:
-                fail("Test should only run for API levels: R, S, Sv2, TM, UDC, VIC...");
+                fail("Test should only run for API levels: R, S, Sv2, TM, UDC, 202404...");
                 return;
         }
 
@@ -291,9 +291,9 @@
     @VsrTest(requirements = {"VSR-3.2.1-009"})
     @Test
     public void checkSkiaVulkanSupport() throws Exception {
-        final int apiLevel = Util.getVendorApiLevelOrFirstProductApiLevel(getDevice());
+        final int apiLevel = PropertyUtil.getVendorApiLevel(getDevice());
 
-        assumeTrue("Test does not apply for SoCs launched before V", apiLevel >= Build.VIC);
+        assumeTrue("Test does not apply for SoCs launched before V", apiLevel >= Build.VENDOR_24Q2);
 
         final String gfxinfo = getDevice().executeShellCommand("dumpsys gfxinfo");
         assertNotNull(gfxinfo);
@@ -327,9 +327,9 @@
     @VsrTest(requirements = {"VSR-3.2.1-008"})
     @Test
     public void checkAndroidBaselineProfile2022Support() throws Exception {
-        final int apiLevel = Util.getVendorApiLevelOrFirstProductApiLevel(getDevice());
+        final int apiLevel = PropertyUtil.getVendorApiLevel(getDevice());
 
-        assumeTrue("Test does not apply for SoCs launched before V", apiLevel >= Build.VIC);
+        assumeTrue("Test does not apply for SoCs launched before V", apiLevel >= Build.VENDOR_24Q2);
 
         boolean hasOnlyCpuDevice = true;
         for (JSONObject device : mVulkanDevices) {
@@ -353,9 +353,9 @@
     @VsrTest(requirements = {"VSR-3.2.1-008"})
     @Test
     public void checkVpAndroid15MinimumsSupport() throws Exception {
-        final int apiLevel = Util.getVendorApiLevelOrFirstProductApiLevel(getDevice());
+        final int apiLevel = PropertyUtil.getVendorApiLevel(getDevice());
 
-        assumeTrue("Test does not apply for SoCs launched before V", apiLevel >= Build.VIC);
+        assumeTrue("Test does not apply for SoCs launched before V", apiLevel >= Build.VENDOR_24Q2);
 
         boolean hasOnlyCpuDevice = true;
         for (JSONObject device : mVulkanDevices) {
@@ -379,9 +379,9 @@
     @VsrTest(requirements = {"VSR-3.2.1-011"})
     @Test
     public void checkProtectedMemoryAndGlobalPrioritySupport() throws Exception {
-        final int apiLevel = Util.getVendorApiLevelOrFirstProductApiLevel(getDevice());
+        final int apiLevel = PropertyUtil.getVendorApiLevel(getDevice());
 
-        assumeTrue("Test does not apply for SoCs launched before V", apiLevel >= Build.VIC);
+        assumeTrue("Test does not apply for SoCs launched before V", apiLevel >= Build.VENDOR_24Q2);
 
         assertTrue(mVulkanDevices.length > 0);