sm6250-common: overlay: define automatic brightness overlays

This commit is contained in:
Demon000 2020-07-11 18:35:44 +03:00
parent fbf5932b94
commit 8dc9578354

View File

@ -273,4 +273,302 @@
<!-- Radius of the software rounded corners at the bottom of the display in its natural <!-- Radius of the software rounded corners at the bottom of the display in its natural
orientation. If zero, the value of rounded_corner_radius is used. --> orientation. If zero, the value of rounded_corner_radius is used. -->
<dimen name="rounded_corner_radius_bottom">93px</dimen> <dimen name="rounded_corner_radius_bottom">93px</dimen>
<!-- Array of hysteresis constraint values for brightening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_ambientThresholdLevels. The brightening threshold is calculated as
lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold,
the screen brightness is recalculated. See the config_ambientThresholdLevels
description for how the constraint value is chosen. -->
<array name="config_ambientBrighteningThresholds">
<item>5</item>
<item>5</item>
<item>10</item>
<item>30</item>
<item>100</item>
<item>400</item>
<item>600</item>
<item>1000</item>
</array>
<!-- Array of hysteresis constraint values for darkening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_ambientThresholdLevels. The darkening threshold is calculated as
lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold,
the screen brightness is recalculated. See the config_ambientThresholdLevels
description for how the constraint value is chosen. -->
<array name="config_ambientDarkeningThresholds">
<item>800</item>
<item>800</item>
<item>800</item>
<item>800</item>
<item>800</item>
<item>500</item>
<item>500</item>
<item>500</item>
</array>
<!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint
values by calculating the index to use for lookup and then setting the constraint value
to the corresponding value of the array. The new brightening hysteresis constraint value
is the n-th element of config_ambientBrighteningThresholds, and the new darkening
hysteresis constraint value is the n-th element of config_ambientDarkeningThresholds.
The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
condition calculated index
value < level[0] 0
level[n] <= value < level[n+1] n+1
level[MAX] <= value MAX+1 -->
<array name="config_ambientThresholdLevels">
<item>2</item>
<item>10</item>
<item>30</item>
<item>100</item>
<item>800</item>
<item>2000</item>
<item>4000</item>
</array>
<!-- Array of desired screen brightness in nits corresponding to the lux values
in the config_autoBrightnessLevels array. As with config_screenBrightnessMinimumNits and
config_screenBrightnessMaximumNits, the display brightness is defined as the measured
brightness of an all-white image.
If this is defined then:
- config_autoBrightnessLcdBacklightValues should not be defined
- config_screenBrightnessNits must be defined
- config_screenBrightnessBacklight must be defined
This array should have size one greater than the size of the config_autoBrightnessLevels
array. The brightness values must be non-negative and non-decreasing. This must be
overridden in platform specific overlays -->
<array name="config_autoBrightnessDisplayValuesNits">
<item>5</item>
<item>5</item>
<item>5</item>
<item>5</item>
<item>15</item>
<item>24</item>
<item>37</item>
<item>47</item>
<item>61</item>
<item>76</item>
<item>83</item>
<item>83</item>
<item>83</item>
<item>87</item>
<item>93</item>
<item>107</item>
<item>117</item>
<item>124</item>
<item>133</item>
<item>166</item>
<item>182</item>
<item>270</item>
<item>315</item>
<item>373</item>
<item>442</item>
<item>455</item>
</array>
<!-- Array of output values for LCD backlight corresponding to the lux values
in the config_autoBrightnessLevels array. This array should have size one greater
than the size of the config_autoBrightnessLevels array.
The brightness values must be between 0 and 255 and be non-decreasing.
This must be overridden in platform specific overlays -->
<array name="config_autoBrightnessLcdBacklightValues">
<item>3</item>
<item>3</item>
<item>3</item>
<item>3</item>
<item>8</item>
<item>13</item>
<item>20</item>
<item>25</item>
<item>33</item>
<item>41</item>
<item>45</item>
<item>45</item>
<item>45</item>
<item>47</item>
<item>50</item>
<item>58</item>
<item>63</item>
<item>67</item>
<item>72</item>
<item>90</item>
<item>99</item>
<item>150</item>
<item>175</item>
<item>208</item>
<item>248</item>
<item>255</item>
</array>
<!-- Array of light sensor lux values to define our levels for auto backlight brightness support.
The N entries of this array define N + 1 control points as follows:
(1-based arrays)
Point 1: (0, value[1]): lux <= 0
Point 2: (level[1], value[2]): 0 < lux <= level[1]
Point 3: (level[2], value[3]): level[2] < lux <= level[3]
...
Point N+1: (level[N], value[N+1]): level[N] < lux
The control points must be strictly increasing. Each control point
corresponds to an entry in the brightness backlight values arrays.
For example, if lux == level[1] (first element of the levels array)
then the brightness will be determined by value[2] (second element
of the brightness values array).
Spline interpolation is used to determine the auto-brightness
backlight values for lux levels between these control points.
Must be overridden in platform specific overlays -->
<array name="config_autoBrightnessLevels">
<item>1</item>
<item>2</item>
<item>4</item>
<item>5</item>
<item>8</item>
<item>13</item>
<item>17</item>
<item>21</item>
<item>26</item>
<item>30</item>
<item>34</item>
<item>39</item>
<item>60</item>
<item>140</item>
<item>310</item>
<item>400</item>
<item>500</item>
<item>600</item>
<item>1000</item>
<item>1200</item>
<item>1500</item>
<item>2100</item>
<item>3000</item>
<item>3500</item>
<item>4000</item>
</array>
<!-- An array describing the screen's backlight values corresponding to the brightness
values in the config_screenBrightnessNits array. -->
<array name="config_screenBrightnessBacklight">
<item>@null</item>
<item>1</item>
<item>10</item>
<item>15</item>
<item>30</item>
<item>45</item>
<item>60</item>
<item>75</item>
<item>90</item>
<item>105</item>
<item>120</item>
<item>135</item>
<item>150</item>
<item>165</item>
<item>180</item>
<item>195</item>
<item>210</item>
<item>225</item>
<item>240</item>
<item>255</item>
</array>
<!-- An array of floats describing the screen brightness in nits corresponding to the backlight
values in the config_screenBrightnessBacklight array. On OLED displays these values
should be measured with an all white image while the display is in the fully on state.
Note that this value should *not* reflect the maximum brightness value for any high
brightness modes but only the maximum brightness value obtainable in a sustainable manner.
This array should be equal in size to config_screenBrightnessBacklight -->
<array name="config_screenBrightnessNits">
<item>@null</item>
<item>4</item>
<item>22</item>
<item>30</item>
<item>68</item>
<item>95</item>
<item>133</item>
<item>165</item>
<item>192</item>
<item>218</item>
<item>255</item>
<item>290</item>
<item>326</item>
<item>352</item>
<item>384</item>
<item>399</item>
<item>422</item>
<item>432</item>
<item>442</item>
<item>455</item>
</array>
<!-- Array of hysteresis constraint values for brightening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_screenThresholdLevels. The brightening threshold is calculated as
screenBrightness * (1.0f + CONSTRAINT_VALUE). When the new screen brightness is higher
than this threshold, it is applied. See the config_screenThresholdLevels description for
how the constraint value is chosen. -->
<array name="config_screenBrighteningThresholds">
<item>@null</item>
</array>
<!-- Array of hysteresis constraint values for darkening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_screenThresholdLevels. The darkening threshold is calculated as
screenBrightness * (1.0f - CONSTRAINT_VALUE). When the new screen brightness is lower than
this threshold, it is applied. See the config_screenThresholdLevels description for how
the constraint value is chosen. -->
<array name="config_screenDarkeningThresholds">
<item>@null</item>
</array>
<!-- Array of screen brightness threshold values. This is used for determining hysteresis
constraint values by calculating the index to use for lookup and then setting the
constraint value to the corresponding value of the array. The new brightening hysteresis
constraint value is the n-th element of config_screenBrighteningThresholds, and the new
darkening hysteresis constraint value is the n-th element of
config_screenDarkeningThresholds.
The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
condition calculated index
value < level[0] 0
level[n] <= value < level[n+1] n+1
level[MAX] <= value MAX+1 -->
<array name="config_screenThresholdLevels">
</array>
<!-- The maximum range of gamma adjustment possible using the screen
auto-brightness adjustment setting. -->
<fraction name="config_autoBrightnessAdjustmentMaxGamma">100%</fraction>
<!-- Stability requirements in milliseconds for accepting a new brightness level. This is used
for debouncing the light sensor. Different constants are used to debounce the light sensor
when adapting to brighter or darker environments. This parameter controls how quickly
brightness changes occur in response to an observed change in light level that exceeds the
hysteresis threshold. -->
<integer name="config_autoBrightnessBrighteningLightDebounce">1000</integer>
<integer name="config_autoBrightnessDarkeningLightDebounce">1000</integer>
<!-- Fast brightness animation ramp rate in brightness units per second-->
<integer name="config_brightness_ramp_rate_fast">4933</integer>
<!-- Slow brightness animation ramp rate in brightness units per second-->
<integer name="config_brightness_ramp_rate_slow">3946</integer>
<!-- Screen brightness used to dim the screen when the user activity
timeout expires. May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDim">2</integer>
<!-- Default screen brightness setting.
Must be in the range specified by minimum and maximum. -->
<integer name="config_screenBrightnessSettingDefault">67</integer>
<!-- Minimum screen brightness setting allowed by the power manager.
The user is forbidden from setting the brightness below this level. -->
<integer name="config_screenBrightnessSettingMinimum">2</integer>
<!-- Maximum screen brightness allowed by the power manager.
The user is forbidden from setting the brightness above this level. -->
<integer name="config_screenBrightnessSettingMaximum">255</integer>
</resources> </resources>