Update PerfromanceClassEvaluator requirements to report performance
class U

Test: atest CtsMediaPerformanceClassTestCases
Bug: 283991878
Change-Id: Iee30f7d53ce77a101fcb6735ce5a87bd3b881f7b
Merged-In: Iee30f7d53ce77a101fcb6735ce5a87bd3b881f7b
diff --git a/tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java b/tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java
index f944198..4b20bca 100644
--- a/tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java
+++ b/tests/mediapc/common/src/android/mediapc/cts/common/PerformanceClassEvaluator.java
@@ -82,6 +82,7 @@
                     .<Double>builder()
                     .setId(RequirementConstants.API_NATIVE_LATENCY)
                     .setPredicate(RequirementConstants.DOUBLE_LTE)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 80.0)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 80.0)
                     .addRequiredValue(Build.VERSION_CODES.S, 100.0)
                     .addRequiredValue(Build.VERSION_CODES.R, 100.0)
@@ -90,6 +91,7 @@
                     .<Double>builder()
                     .setId(RequirementConstants.API_JAVA_LATENCY)
                     .setPredicate(RequirementConstants.DOUBLE_LTE)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 80.0)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 80.0)
                     .addRequiredValue(Build.VERSION_CODES.S, 100.0)
                     .addRequiredValue(Build.VERSION_CODES.R, 100.0)
@@ -124,6 +126,7 @@
                     .setId(RequirementConstants.REAR_CAMERA_240FPS_SUPPORTED)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new Camera240FpsRequirement(RequirementConstants.R7_5__H_1_9, requirement);
@@ -226,6 +229,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, 1000.0f)
                     .addRequiredValue(Build.VERSION_CODES.S, 1000.0f)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 1000.0f)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 1000.0f)
                     .build();
             RequiredMeasurement<Float> frontJpegLatency = RequiredMeasurement
                     .<Float>builder()
@@ -234,6 +238,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, 1000.0f)
                     .addRequiredValue(Build.VERSION_CODES.S, 1000.0f)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 1000.0f)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 1000.0f)
                     .build();
 
             return new CameraLatencyRequirement(RequirementConstants.R7_5__H_1_5,
@@ -253,6 +258,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, 600.0f)
                     .addRequiredValue(Build.VERSION_CODES.S, 600.0f)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 600.0f)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 600.0f)
                     .build();
             RequiredMeasurement<Float> frontLaunchLatency = RequiredMeasurement
                     .<Float>builder()
@@ -261,6 +267,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, 600.0f)
                     .addRequiredValue(Build.VERSION_CODES.S, 600.0f)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 600.0f)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 600.0f)
                     .build();
 
             return new CameraLatencyRequirement(RequirementConstants.R7_5__H_1_6,
@@ -291,6 +298,7 @@
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.S, true)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new CameraRawRequirement(RequirementConstants.R7_5__H_1_8, requirement);
@@ -327,6 +335,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, TIMESTAMP_REALTIME)
                     .addRequiredValue(Build.VERSION_CODES.S, TIMESTAMP_REALTIME)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, TIMESTAMP_REALTIME)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, TIMESTAMP_REALTIME)
                     .build();
             RequiredMeasurement<Integer> frontTimestampSource = RequiredMeasurement
                     .<Integer>builder()
@@ -335,6 +344,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, TIMESTAMP_REALTIME)
                     .addRequiredValue(Build.VERSION_CODES.S, TIMESTAMP_REALTIME)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, TIMESTAMP_REALTIME)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, TIMESTAMP_REALTIME)
                     .build();
 
             return new CameraTimestampSourceRequirement(RequirementConstants.R7_5__H_1_4,
@@ -368,6 +378,7 @@
                         .addRequiredValue(Build.VERSION_CODES.R, 65L)
                         .addRequiredValue(Build.VERSION_CODES.S, 50L)
                         .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 40L)
+                        .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 40L)
                         .build();
 
             return new CodecInitLatencyRequirement(RequirementConstants.R5_1__H_1_7,
@@ -388,6 +399,7 @@
                         .addRequiredValue(Build.VERSION_CODES.R, 50L)
                         .addRequiredValue(Build.VERSION_CODES.S, 40L)
                         .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 30L)
+                        .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 30L)
                         .build();
 
             return new CodecInitLatencyRequirement(RequirementConstants.R5_1__H_1_8,
@@ -405,6 +417,7 @@
                 RequiredMeasurement.<Long>builder().setId(RequirementConstants.CODEC_INIT_LATENCY)
                         .setPredicate(RequirementConstants.LONG_LTE)
                         .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 40L)
+                        .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 40L)
                         .build();
 
             return new CodecInitLatencyRequirement(RequirementConstants.R5_1__H_1_12,
@@ -422,6 +435,7 @@
                 RequiredMeasurement.<Long>builder().setId(RequirementConstants.CODEC_INIT_LATENCY)
                         .setPredicate(RequirementConstants.LONG_LTE)
                         .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 30L)
+                        .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 30L)
                         .build();
 
             return new CodecInitLatencyRequirement(RequirementConstants.R5_1__H_1_13,
@@ -977,6 +991,7 @@
                     .setId(RequirementConstants.CONCURRENT_REAR_FRONT_SUPPORTED)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new ConcurrentRearFrontRequirement(RequirementConstants.R7_5__H_1_11,
@@ -1020,6 +1035,7 @@
                     .setPredicate(RequirementConstants.INTEGER_GTE)
                     .addRequiredValue(Build.VERSION_CODES.S, 400)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 400)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 400)
                     .build();
 
             return new DensityRequirement(RequirementConstants.R7_1_1_3__H_2_1, display_density);
@@ -1120,6 +1136,7 @@
                     .setPredicate(RequirementConstants.DOUBLE_GTE)
                     .addRequiredValue(Build.VERSION_CODES.R, 100.0)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 125.0)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 150.0)
                     .build();
 
             return new FileSystemRequirement(RequirementConstants.R8_2__H_1_1, filesystem_io_rate);
@@ -1146,6 +1163,7 @@
                     .<Double>builder().setId(RequirementConstants.FILESYSTEM_IO_RATE)
                     .setPredicate(RequirementConstants.DOUBLE_GTE)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 10.0)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 10.0)
                     .build();
 
             return new FileSystemRequirement(RequirementConstants.R8_2__H_1_2, filesystem_io_rate);
@@ -1174,6 +1192,7 @@
                     .setPredicate(RequirementConstants.DOUBLE_GTE)
                     .addRequiredValue(Build.VERSION_CODES.R, 200.0)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 250.0)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 250.0)
                     .build();
 
             return new FileSystemRequirement(RequirementConstants.R8_2__H_1_3, filesystem_io_rate);
@@ -1201,6 +1220,7 @@
                     .setPredicate(RequirementConstants.DOUBLE_GTE)
                     .addRequiredValue(Build.VERSION_CODES.R, 25.0)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 40.0)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 100.0)
                     .build();
 
             return new FileSystemRequirement(RequirementConstants.R8_2__H_1_4, filesystem_io_rate);
@@ -1425,12 +1445,14 @@
                     .setId(RequirementConstants.REAR_CAMERA_LOGICAL_MULTI_CAMERA_REQ_MET)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
             RequiredMeasurement<Boolean> frontRequirement = RequiredMeasurement
                     .<Boolean>builder()
                     .setId(RequirementConstants.FRONT_CAMERA_LOGICAL_MULTI_CAMERA_REQ_MET)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new LogicalMultiCameraRequirement(RequirementConstants.R7_5__H_1_13,
@@ -1480,6 +1502,7 @@
                     // device.
                     .addRequiredValue(Build.VERSION_CODES.S, 5L * 1024L)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 7L * 1024L)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 7L * 1024L)
                     .build();
 
             return new MemoryRequirement(RequirementConstants.R7_6_1__H_2_1, physical_memory);
@@ -1514,12 +1537,14 @@
                     .setId(RequirementConstants.REAR_CAMERA_PREVIEW_STABILIZATION_SUPPORTED)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
             RequiredMeasurement<Boolean> frontRequirement = RequiredMeasurement
                     .<Boolean>builder()
                     .setId(RequirementConstants.FRONT_CAMERA_PREVIEW_STABILIZATION_SUPPORTED)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new PreviewStabilizationRequirement(RequirementConstants.R7_5__H_1_12,
@@ -1568,6 +1593,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, true)
                     .addRequiredValue(Build.VERSION_CODES.S, true)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             RequiredMeasurement<Long> cameraResolution = RequiredMeasurement
@@ -1578,6 +1604,9 @@
                     .addRequiredValue(Build.VERSION_CODES.S, MIN_BACK_SENSOR_PERF_CLASS_RESOLUTION)
                     .addRequiredValue(
                             Build.VERSION_CODES.TIRAMISU, MIN_BACK_SENSOR_PERF_CLASS_RESOLUTION)
+                    .addRequiredValue(
+                            Build.VERSION_CODES.UPSIDE_DOWN_CAKE,
+                            MIN_BACK_SENSOR_PERF_CLASS_RESOLUTION)
                     .build();
 
             RequiredMeasurement<Boolean> videoSizeReqSatisfied = RequiredMeasurement
@@ -1587,6 +1616,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, true)
                     .addRequiredValue(Build.VERSION_CODES.S, true)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             RequiredMeasurement<Double> videoFps = RequiredMeasurement
@@ -1596,6 +1626,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, 29.9)
                     .addRequiredValue(Build.VERSION_CODES.S, 29.9)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 29.9)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 29.9)
                     .build();
 
             return new PrimaryCameraRequirement(RequirementConstants.R7_5__H_1_1,
@@ -1615,6 +1646,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, true)
                     .addRequiredValue(Build.VERSION_CODES.S, true)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             RequiredMeasurement<Long> cameraResolution = RequiredMeasurement
@@ -1625,7 +1657,10 @@
                             Build.VERSION_CODES.R, MIN_FRONT_SENSOR_R_PERF_CLASS_RESOLUTION)
                     .addRequiredValue(
                             Build.VERSION_CODES.S, MIN_FRONT_SENSOR_S_PERF_CLASS_RESOLUTION)
-                    .addRequiredValue(Build.VERSION_CODES.TIRAMISU,
+                    .addRequiredValue(
+                            Build.VERSION_CODES.TIRAMISU, MIN_FRONT_SENSOR_S_PERF_CLASS_RESOLUTION)
+                    .addRequiredValue(
+                            Build.VERSION_CODES.UPSIDE_DOWN_CAKE,
                             MIN_FRONT_SENSOR_S_PERF_CLASS_RESOLUTION)
                     .build();
 
@@ -1636,6 +1671,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, true)
                     .addRequiredValue(Build.VERSION_CODES.S, true)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             RequiredMeasurement<Double> videoFps = RequiredMeasurement
@@ -1645,6 +1681,7 @@
                     .addRequiredValue(Build.VERSION_CODES.R, 29.9)
                     .addRequiredValue(Build.VERSION_CODES.S, 29.9)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 29.9)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 29.9)
                     .build();
 
             return new PrimaryCameraRequirement(RequirementConstants.R7_5__H_1_2,
@@ -1700,6 +1737,7 @@
                     .setPredicate(RequirementConstants.INTEGER_GTE)
                     .addRequiredValue(Build.VERSION_CODES.S, 1920)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 1920)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 1920)
                     .build();
             RequiredMeasurement<Integer> short_resolution = RequiredMeasurement
                     .<Integer>builder()
@@ -1707,6 +1745,7 @@
                     .setPredicate(RequirementConstants.INTEGER_GTE)
                     .addRequiredValue(Build.VERSION_CODES.S, 1080)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 1080)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 1080)
                     .build();
 
             return new ResolutionRequirement(RequirementConstants.R7_1_1_1__H_2_1, long_resolution,
@@ -1740,6 +1779,7 @@
                     .setId(RequirementConstants.NUM_CRYPTO_HW_SECURE_ALL_SUPPORT)
                     .setPredicate(RequirementConstants.INTEGER_GTE)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 1)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 1)
                     .build();
 
             return new SecureCodecRequirement(RequirementConstants.R5_7__H_1_2, hw_secure_all);
@@ -1755,6 +1795,7 @@
                     .setId(RequirementConstants.SECURE_REQ_SATISFIED)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new SecureCodecRequirement(RequirementConstants.R5_1__H_1_11, requirement);
@@ -1789,12 +1830,14 @@
                     .setId(RequirementConstants.REAR_CAMERA_STREAM_USECASE_SUPPORTED)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
             RequiredMeasurement<Boolean> frontRequirement = RequiredMeasurement
                     .<Boolean>builder()
                     .setId(RequirementConstants.FRONT_CAMERA_STREAM_USECASE_SUPPORTED)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new StreamUseCaseRequirement(RequirementConstants.R7_5__H_1_14,
@@ -1839,6 +1882,7 @@
                     .setId(RequirementConstants.NUM_4k_HW_DEC)
                     .setPredicate(RequirementConstants.INTEGER_GTE)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 1)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 1)
                     .build();
 
             return new VideoCodecRequirement(RequirementConstants.R5_1__H_1_15, requirement);
@@ -1853,6 +1897,7 @@
                     .setId(RequirementConstants.NUM_4k_HW_ENC)
                     .setPredicate(RequirementConstants.INTEGER_GTE)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, 1)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, 1)
                     .build();
 
             return new VideoCodecRequirement(RequirementConstants.R5_1__H_1_16, requirement);
@@ -1867,6 +1912,7 @@
                     .setId(RequirementConstants.AV1_DEC_REQ)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new VideoCodecRequirement(RequirementConstants.R5_1__H_1_14, requirement);
@@ -1930,12 +1976,14 @@
                     .setId(RequirementConstants.REAR_CAMERA_ULTRAWIDE_ZOOMRATIO_REQ_MET)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
             RequiredMeasurement<Boolean> frontRequirement = RequiredMeasurement
                     .<Boolean>builder()
                     .setId(RequirementConstants.FRONT_CAMERA_ULTRAWIDE_ZOOMRATIO_REQ_MET)
                     .setPredicate(RequirementConstants.BOOLEAN_EQ)
                     .addRequiredValue(Build.VERSION_CODES.TIRAMISU, true)
+                    .addRequiredValue(Build.VERSION_CODES.UPSIDE_DOWN_CAKE, true)
                     .build();
 
             return new UltraWideZoomRatioRequirement(RequirementConstants.R7_5__H_1_10,