config.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. Copyright (C) 2024 The LineageOS Project
  4. SPDX-License-Identifier: Apache-2.0
  5. -->
  6. <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
  7. <!-- Minimum screen brightness setting allowed by power manager.
  8. -2 is invalid so setting will resort to int value specified above.
  9. Set this to 0.0 to allow screen to go to minimal brightness.
  10. The user is forbidden from setting the brightness below this level. -->
  11. <item format="float" name="config_screenBrightnessSettingMinimumFloat" type="dimen">0</item>
  12. <!-- Maximum screen brightness allowed by the power manager.
  13. -2 is invalid so setting will resort to int value specified above.
  14. Set this to 1.0 for maximum brightness range.
  15. The user is forbidden from setting the brightness above this level. -->
  16. <item format="float" name="config_screenBrightnessSettingMaximumFloat" type="dimen">1</item>
  17. <!-- Default screen brightness setting set.
  18. -2 is invalid so setting will resort to int value specified above.
  19. Must be in the range specified by minimum and maximum. -->
  20. <item format="float" name="config_screenBrightnessSettingDefaultFloat" type="dimen">0.5</item>
  21. <!-- Stability requirements in milliseconds for accepting a new brightness level. This is used
  22. for debouncing the light sensor. Different constants are used to debounce the light sensor
  23. when adapting to brighter or darker environments. This parameter controls how quickly
  24. brightness changes occur in response to an observed change in light level that exceeds the
  25. hysteresis threshold. -->
  26. <integer name="config_autoBrightnessBrighteningLightDebounce">1000</integer>
  27. <integer name="config_autoBrightnessDarkeningLightDebounce">1000</integer>
  28. <!-- The maximum range of gamma adjustment possible using the screen
  29. auto-brightness adjustment setting. -->
  30. <fraction name="config_autoBrightnessAdjustmentMaxGamma">100.0%</fraction>
  31. <!-- Array of light sensor lux values to define our levels for auto backlight brightness support.
  32. The N entries of this array define N + 1 control points as follows:
  33. (1-based arrays)
  34. Point 1: (0, value[1]): lux <= 0
  35. Point 2: (level[1], value[2]): 0 < lux <= level[1]
  36. Point 3: (level[2], value[3]): level[2] < lux <= level[3]
  37. ...
  38. Point N+1: (level[N], value[N+1]): level[N] < lux
  39. The control points must be strictly increasing. Each control point
  40. corresponds to an entry in the brightness backlight values arrays.
  41. For example, if lux == level[1] (first element of the levels array)
  42. then the brightness will be determined by value[2] (second element
  43. of the brightness values array).
  44. Spline interpolation is used to determine the auto-brightness
  45. backlight values for lux levels between these control points.
  46. Must be overridden in platform specific overlays -->
  47. <integer-array name="config_autoBrightnessLevels">
  48. <item>1</item>
  49. <item>2</item>
  50. <item>4</item>
  51. <item>6</item>
  52. <item>8</item>
  53. <item>10</item>
  54. <item>15</item>
  55. <item>20</item>
  56. <item>25</item>
  57. <item>30</item>
  58. <item>35</item>
  59. <item>40</item>
  60. <item>45</item>
  61. <item>50</item>
  62. <item>55</item>
  63. <item>60</item>
  64. <item>65</item>
  65. <item>70</item>
  66. <item>75</item>
  67. <item>80</item>
  68. <item>85</item>
  69. <item>90</item>
  70. <item>95</item>
  71. <item>100</item>
  72. <item>120</item>
  73. <item>140</item>
  74. <item>160</item>
  75. <item>180</item>
  76. <item>200</item>
  77. <item>220</item>
  78. <item>240</item>
  79. <item>260</item>
  80. <item>280</item>
  81. <item>300</item>
  82. <item>320</item>
  83. <item>340</item>
  84. <item>360</item>
  85. <item>380</item>
  86. <item>400</item>
  87. <item>420</item>
  88. <item>440</item>
  89. <item>460</item>
  90. <item>480</item>
  91. <item>500</item>
  92. <item>700</item>
  93. <item>900</item>
  94. <item>1100</item>
  95. <item>1300</item>
  96. <item>1500</item>
  97. <item>1700</item>
  98. <item>1900</item>
  99. <item>2000</item>
  100. <item>2500</item>
  101. <item>3000</item>
  102. <item>3500</item>
  103. <item>4000</item>
  104. <item>4500</item>
  105. <item>5000</item>
  106. <item>5500</item>
  107. <item>6000</item>
  108. <item>6500</item>
  109. <item>7000</item>
  110. <item>7500</item>
  111. <item>8000</item>
  112. <item>8500</item>
  113. <item>9000</item>
  114. <item>9500</item>
  115. <item>10000</item>
  116. <item>10500</item>
  117. <item>11000</item>
  118. <item>11500</item>
  119. <item>12000</item>
  120. <item>12500</item>
  121. <item>13000</item>
  122. <item>13500</item>
  123. <item>14000</item>
  124. <item>14500</item>
  125. <item>15000</item>
  126. <item>16000</item>
  127. <item>17000</item>
  128. <item>18000</item>
  129. <item>19000</item>
  130. <item>20000</item>
  131. <item>21000</item>
  132. <item>22000</item>
  133. <item>23000</item>
  134. <item>24000</item>
  135. <item>25000</item>
  136. <item>26000</item>
  137. <item>27000</item>
  138. <item>28000</item>
  139. <item>29000</item>
  140. <item>30000</item>
  141. <item>35000</item>
  142. <item>40000</item>
  143. <item>45000</item>
  144. <item>50000</item>
  145. <item>55000</item>
  146. <item>60000</item>
  147. <item>65000</item>
  148. <item>70000</item>
  149. <item>75000</item>
  150. <item>80000</item>
  151. <item>85000</item>
  152. <item>90000</item>
  153. <item>95000</item>
  154. <item>100000</item>
  155. </integer-array>
  156. <!-- Array of output values for LCD backlight corresponding to the lux values
  157. in the config_autoBrightnessLevels array. This array should have size one greater
  158. than the size of the config_autoBrightnessLevels array.
  159. The brightness values must be between 0 and 255 and be non-decreasing.
  160. This must be overridden in platform specific overlays -->
  161. <integer-array name="config_autoBrightnessLcdBacklightValues" />
  162. <!-- Array of desired screen brightness in nits corresponding to the lux values
  163. in the config_autoBrightnessLevels array. The display brightness is defined as the measured
  164. brightness of an all-white image.
  165. If this is defined then:
  166. - config_autoBrightnessLcdBacklightValues should not be defined
  167. - config_screenBrightnessNits must be defined
  168. - config_screenBrightnessBacklight must be defined
  169. This array should have size one greater than the size of the config_autoBrightnessLevels
  170. array. The brightness values must be non-negative and non-decreasing. This must be
  171. overridden in platform specific overlays -->
  172. <array name="config_autoBrightnessDisplayValuesNits">
  173. <item>2.0</item>
  174. <item>2.5</item>
  175. <item>2.8</item>
  176. <item>16.3</item>
  177. <item>26.2</item>
  178. <item>32.0</item>
  179. <item>36.9</item>
  180. <item>49.4</item>
  181. <item>63.7</item>
  182. <item>82.5</item>
  183. <item>89.9</item>
  184. <item>91.6</item>
  185. <item>91.6</item>
  186. <item>91.6</item>
  187. <item>93.0</item>
  188. <item>93.0</item>
  189. <item>93.0</item>
  190. <item>94.6</item>
  191. <item>94.6</item>
  192. <item>95.7</item>
  193. <item>95.7</item>
  194. <item>95.7</item>
  195. <item>95.7</item>
  196. <item>97.2</item>
  197. <item>97.2</item>
  198. <item>98.4</item>
  199. <item>101.2</item>
  200. <item>102.2</item>
  201. <item>103.8</item>
  202. <item>106.3</item>
  203. <item>107.7</item>
  204. <item>110.2</item>
  205. <item>111.6</item>
  206. <item>114.0</item>
  207. <item>115.2</item>
  208. <item>116.5</item>
  209. <item>120.4</item>
  210. <item>121.1</item>
  211. <item>122.6</item>
  212. <item>125.3</item>
  213. <item>126.5</item>
  214. <item>128.7</item>
  215. <item>129.6</item>
  216. <item>132.1</item>
  217. <item>134.0</item>
  218. <item>156.3</item>
  219. <item>174.4</item>
  220. <item>193.5</item>
  221. <item>223.4</item>
  222. <item>252.0</item>
  223. <item>290.1</item>
  224. <item>315.4</item>
  225. <item>332.4</item>
  226. <item>404.2</item>
  227. <item>433.1</item>
  228. <item>446.1</item>
  229. <item>460.9</item>
  230. <item>474.8</item>
  231. <item>488.7</item>
  232. <item>500.0</item>
  233. <item>500.0</item>
  234. <item>512.5</item>
  235. <item>525.0</item>
  236. <item>537.5</item>
  237. <item>550.0</item>
  238. <item>562.5</item>
  239. <item>575.0</item>
  240. <item>587.5</item>
  241. <item>600.0</item>
  242. <item>610.0</item>
  243. <item>620.0</item>
  244. <item>630.0</item>
  245. <item>640.0</item>
  246. <item>650.0</item>
  247. <item>660.0</item>
  248. <item>670.0</item>
  249. <item>680.0</item>
  250. <item>690.0</item>
  251. <item>700.0</item>
  252. <item>705.0</item>
  253. <item>710.0</item>
  254. <item>715.0</item>
  255. <item>720.0</item>
  256. <item>725.0</item>
  257. <item>730.0</item>
  258. <item>735.0</item>
  259. <item>740.0</item>
  260. <item>745.0</item>
  261. <item>750.0</item>
  262. <item>755.0</item>
  263. <item>760.0</item>
  264. <item>765.0</item>
  265. <item>770.0</item>
  266. <item>775.0</item>
  267. <item>800.0</item>
  268. <item>816.7</item>
  269. <item>833.3</item>
  270. <item>850.0</item>
  271. <item>866.7</item>
  272. <item>883.3</item>
  273. <item>900.0</item>
  274. <item>914.3</item>
  275. <item>928.6</item>
  276. <item>942.9</item>
  277. <item>957.1</item>
  278. <item>971.4</item>
  279. <item>985.7</item>
  280. <item>1000.0</item>
  281. </array>
  282. <!-- An array describing the screen's backlight values corresponding to the brightness
  283. values in the config_screenBrightnessNits array.
  284. This array should be equal in size to config_screenBrightnessBacklight. -->
  285. <integer-array name="config_screenBrightnessBacklight">
  286. <item>1</item>
  287. <item>255</item>
  288. </integer-array>
  289. <!-- An array of floats describing the screen brightness in nits corresponding to the backlight
  290. values in the config_screenBrightnessBacklight array. On OLED displays these values
  291. should be measured with an all white image while the display is in the fully on state.
  292. Note that this value should *not* reflect the maximum brightness value for any high
  293. brightness modes but only the maximum brightness value obtainable in a sustainable manner.
  294. This array should be equal in size to config_screenBrightnessBacklight -->
  295. <array name="config_screenBrightnessNits">
  296. <item>2.0</item>
  297. <item>850.0</item>
  298. </array>
  299. <!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint
  300. values by calculating the index to use for lookup and then setting the constraint value
  301. to the corresponding value of the array. The new brightening hysteresis constraint value
  302. is the n-th element of config_ambientBrighteningThresholds, and the new darkening
  303. hysteresis constraint value is the n-th element of config_ambientDarkeningThresholds.
  304. The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
  305. condition calculated index
  306. value < level[0] 0
  307. level[n] <= value < level[n+1] n+1
  308. level[MAX] <= value MAX+1 -->
  309. <integer-array name="config_ambientThresholdLevels">
  310. <item>2</item>
  311. <item>10</item>
  312. <item>30</item>
  313. <item>100</item>
  314. <item>800</item>
  315. <item>2000</item>
  316. <item>4000</item>
  317. </integer-array>
  318. <!-- Array of hysteresis constraint values for brightening, represented as tenths of a
  319. percent. The length of this array is assumed to be one greater than
  320. config_ambientThresholdLevels. The brightening threshold is calculated as
  321. lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold,
  322. the screen brightness is recalculated. See the config_ambientThresholdLevels
  323. description for how the constraint value is chosen. -->
  324. <integer-array name="config_ambientBrighteningThresholds">
  325. <item>2</item>
  326. <item>6</item>
  327. <item>10</item>
  328. <item>30</item>
  329. <item>100</item>
  330. <item>400</item>
  331. <item>600</item>
  332. <item>1000</item>
  333. </integer-array>
  334. <!-- Array of hysteresis constraint values for darkening, represented as tenths of a
  335. percent. The length of this array is assumed to be one greater than
  336. config_ambientThresholdLevels. The darkening threshold is calculated as
  337. lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold,
  338. the screen brightness is recalculated. See the config_ambientThresholdLevels
  339. description for how the constraint value is chosen. -->
  340. <integer-array name="config_ambientDarkeningThresholds">
  341. <item>800</item>
  342. <item>800</item>
  343. <item>500</item>
  344. <item>500</item>
  345. <item>500</item>
  346. <item>500</item>
  347. <item>500</item>
  348. <item>500</item>
  349. </integer-array>
  350. <!-- Doze: should the TYPE_PICK_UP_GESTURE sensor be used as a pulse signal. -->
  351. <bool name="config_dozePulsePickup">true</bool>
  352. <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
  353. device from the display on/off state.
  354. When false, autosuspend_disable() will be called before the display is turned on
  355. and autosuspend_enable() will be called after the display is turned off.
  356. This mode provides best compatibility for devices using legacy power management
  357. features such as early suspend / late resume.
  358. When true, autosuspend_display() and autosuspend_enable() will be called
  359. independently of whether the display is being turned on or off. This mode
  360. enables the power manager to suspend the application processor while the
  361. display is on.
  362. This resource should be set to "true" when a doze component has been specified
  363. to maximize power savings but not all devices support it.
  364. Refer to autosuspend.h for details.
  365. -->
  366. <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
  367. <!-- Power Management: Specifies whether to decouple the interactive state of the
  368. device from the display on/off state.
  369. When false, setInteractive(..., true) will be called before the display is turned on
  370. and setInteractive(..., false) will be called after the display is turned off.
  371. This mode provides best compatibility for devices that expect the interactive
  372. state to be tied to the display state.
  373. When true, setInteractive(...) will be called independently of whether the display
  374. is being turned on or off. This mode enables the power manager to reduce
  375. clocks and disable the touch controller while the display is on.
  376. This resource should be set to "true" when a doze component has been specified
  377. to maximize power savings but not all devices support it.
  378. Refer to power.h for details.
  379. -->
  380. <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
  381. <!-- Whether device supports double tap to wake -->
  382. <bool name="config_supportDoubleTapWake">true</bool>
  383. </resources>