解决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
浙公网安备 33010602011771号