解决CTS的CtsDisplayTestCases 问题

平台:C6490,android13

测试项:

Test Result Details
android.display.cts.BrightnessTest#testGetDefaultCurve fail
java.lang.AssertionError

错误log:

11-05 10:19:06.783 10178 29533 29550 E TestRunner: failed: testGetDefaultCurve(android.display.cts.BrightnessTest)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: ----- begin exception -----
11-05 10:19:06.783 10178 29533 29550 E TestRunner: java.lang.AssertionError
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at org.junit.Assert.fail(Assert.java:87)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at org.junit.Assert.assertTrue(Assert.java:42)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at org.junit.Assert.assertNotNull(Assert.java:713)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at org.junit.Assert.assertNotNull(Assert.java:723)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at android.display.cts.BrightnessTest.testGetDefaultCurve(BrightnessTest.java:325)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at java.lang.reflect.Method.invoke(Native Method)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
11-05 10:19:06.783 10178 29533 29550 E TestRunner: 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:61)

 case代码:

public void testGetDefaultCurve()  {
        // Don't run as there is no app that has permission to push curves.
        assumeTrue(numberOfSystemAppsWithPermission(
                Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) > 0);
        grantPermission(Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS);
        BrightnessConfiguration defaultConfig = mDisplayManager.getDefaultBrightnessConfiguration();
        // Must provide a default config if an app with CONFIGURE_DISPLAY_BRIGHTNESS exists.
        assertNotNull(defaultConfig);
      Pair<float[], float[]> curve = defaultConfig.getCurve();
        assertTrue(curve.first.length > 0);
        assertEquals(curve.first.length, curve.second.length);
        assertInRange(curve.first, 0, Float.MAX_VALUE);
        assertInRange(curve.second, 0, Float.MAX_VALUE);
        assertEquals(0.0, curve.first[0], 0.1);
        assertMonotonic(curve.first, true /*strictly increasing*/, "lux");
        assertMonotonic(curve.second, false /*strictly increasing*/, "nits");
        assertTrue(defaultConfig.getShortTermModelLowerLuxMultiplier() > 0.0f);
        assertTrue(defaultConfig.getShortTermModelLowerLuxMultiplier() < 10.0f);
        assertTrue(defaultConfig.getShortTermModelUpperLuxMultiplier() > 0.0f);
        assertTrue(defaultConfig.getShortTermModelUpperLuxMultiplier() < 10.0f);
        assertTrue(defaultConfig.getShortTermModelTimeoutMillis() > 0L);
        assertTrue(defaultConfig.getShortTermModelTimeoutMillis() < 24 * 60 * 60 * 1000L);
        assertFalse(defaultConfig.shouldCollectColorSamples());
    }

 

需要配置亮度曲线,patch如下:

diff --git a/QCM6490_apps_qssi13/LINUX/android/frameworks/base/core/res/res/values/config.xml b/QCM6490_apps_qssi13/LINUX/android/frameworks/base/core/res/res/values/config.xml
index 170994ccfa9..14d5318005b 100755
--- a/QCM6490_apps_qssi13/LINUX/android/frameworks/base/core/res/res/values/config.xml
+++ b/QCM6490_apps_qssi13/LINUX/android/frameworks/base/core/res/res/values/config.xml
@@ -1585,6 +1585,14 @@
 
          Must be overridden in platform specific overlays -->
     <integer-array name="config_autoBrightnessLevels">
+        <item>10</item>
+        <item>30</item>
+        <item>60</item>
+        <item>100</item>
+        <item>150</item>
+        <item>210</item>
+        <item>255</item>
+
     </integer-array>
 
     <!-- Array of light sensor lux values to define our levels for auto backlight brightness
@@ -1628,6 +1636,14 @@
          The brightness values must be between 0 and 255 and be non-decreasing.
          This must be overridden in platform specific overlays -->
     <integer-array name="config_autoBrightnessLcdBacklightValues">
+        <item>10</item>
+        <item>20</item>
+        <item>40</item>
+        <item>70</item>
+        <item>110</item>
+        <item>160</item>
+        <item>200</item>
+        <item>255</item>
     </integer-array>
 
     <!-- Array of output values for LCD backlight in doze mode corresponding to the lux values
@@ -1655,6 +1671,14 @@
          array. The brightness values must be non-negative and non-decreasing. This must be
          overridden in platform specific overlays -->
     <array name="config_autoBrightnessDisplayValuesNits">
+        <item>10</item>
+        <item>20</item>
+        <item>40</item>
+        <item>70</item>
+        <item>110</item>
+        <item>160</item>
+        <item>200</item>
+        <item>255</item>
     </array>
 
     <!-- Array of desired screen brightness in nits for idle screen brightness mode.
@@ -1685,6 +1709,8 @@
 
          This array should be equal in size to config_screenBrightnessBacklight. -->
     <integer-array name="config_screenBrightnessBacklight">
+          <item>1</item>
+          <item>255</item>
     </integer-array>
 
     <!-- An array of floats describing the screen brightness in nits corresponding to the backlight
@@ -1695,6 +1721,8 @@
 
          This array should be equal in size to config_screenBrightnessBacklight -->
     <array name="config_screenBrightnessNits">
+          <item>2.49</item>
+          <item>611.38</item>
     </array>
 
     <!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint

 

posted @ 2025-01-17 10:55  simple雨  阅读(16)  评论(0编辑  收藏  举报