config.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  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.000915639</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.07496032</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">2000</integer>
  27. <integer name="config_autoBrightnessDarkeningLightDebounce">2000</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. <item format="float" name="config_screenBrightnessDimFloat" type="dimen">0.000915639</item>
  32. <!-- Array of light sensor lux values to define our levels for auto backlight brightness support.
  33. The N entries of this array define N + 1 control points as follows:
  34. (1-based arrays)
  35. Point 1: (0, value[1]): lux <= 0
  36. Point 2: (level[1], value[2]): 0 < lux <= level[1]
  37. Point 3: (level[2], value[3]): level[2] < lux <= level[3]
  38. ...
  39. Point N+1: (level[N], value[N+1]): level[N] < lux
  40. The control points must be strictly increasing. Each control point
  41. corresponds to an entry in the brightness backlight values arrays.
  42. For example, if lux == level[1] (first element of the levels array)
  43. then the brightness will be determined by value[2] (second element
  44. of the brightness values array).
  45. Spline interpolation is used to determine the auto-brightness
  46. backlight values for lux levels between these control points.
  47. Must be overridden in platform specific overlays -->
  48. <integer-array name="config_autoBrightnessLevels">
  49. <item>1</item>
  50. <item>2</item>
  51. <item>4</item>
  52. <item>6</item>
  53. <item>8</item>
  54. <item>10</item>
  55. <item>15</item>
  56. <item>20</item>
  57. <item>25</item>
  58. <item>30</item>
  59. <item>35</item>
  60. <item>40</item>
  61. <item>45</item>
  62. <item>50</item>
  63. <item>55</item>
  64. <item>60</item>
  65. <item>65</item>
  66. <item>70</item>
  67. <item>75</item>
  68. <item>80</item>
  69. <item>85</item>
  70. <item>90</item>
  71. <item>95</item>
  72. <item>100</item>
  73. <item>120</item>
  74. <item>140</item>
  75. <item>160</item>
  76. <item>180</item>
  77. <item>200</item>
  78. <item>220</item>
  79. <item>240</item>
  80. <item>260</item>
  81. <item>280</item>
  82. <item>300</item>
  83. <item>320</item>
  84. <item>340</item>
  85. <item>360</item>
  86. <item>380</item>
  87. <item>400</item>
  88. <item>420</item>
  89. <item>440</item>
  90. <item>460</item>
  91. <item>480</item>
  92. <item>500</item>
  93. <item>700</item>
  94. <item>900</item>
  95. <item>1100</item>
  96. <item>1300</item>
  97. <item>1500</item>
  98. <item>1700</item>
  99. <item>1900</item>
  100. <item>2000</item>
  101. <item>2500</item>
  102. <item>3000</item>
  103. <item>3500</item>
  104. <item>4000</item>
  105. <item>4500</item>
  106. <item>5000</item>
  107. <item>5500</item>
  108. <item>6000</item>
  109. <item>6500</item>
  110. <item>7000</item>
  111. <item>7500</item>
  112. <item>8000</item>
  113. <item>8500</item>
  114. <item>9000</item>
  115. <item>9500</item>
  116. <item>10000</item>
  117. <item>10500</item>
  118. <item>11000</item>
  119. <item>11500</item>
  120. <item>12000</item>
  121. <item>12500</item>
  122. <item>13000</item>
  123. <item>13500</item>
  124. <item>14000</item>
  125. <item>14500</item>
  126. <item>15000</item>
  127. <item>16000</item>
  128. <item>17000</item>
  129. <item>18000</item>
  130. <item>19000</item>
  131. <item>20000</item>
  132. <item>21000</item>
  133. <item>22000</item>
  134. <item>23000</item>
  135. <item>24000</item>
  136. <item>25000</item>
  137. <item>26000</item>
  138. <item>27000</item>
  139. <item>28000</item>
  140. <item>29000</item>
  141. <item>30000</item>
  142. <item>35000</item>
  143. <item>40000</item>
  144. <item>45000</item>
  145. <item>50000</item>
  146. <item>55000</item>
  147. <item>60000</item>
  148. <item>65000</item>
  149. <item>70000</item>
  150. <item>75000</item>
  151. <item>80000</item>
  152. <item>85000</item>
  153. <item>90000</item>
  154. <item>95000</item>
  155. <item>100000</item>
  156. </integer-array>
  157. <!-- Array of output values for LCD backlight corresponding to the lux values
  158. in the config_autoBrightnessLevels array. This array should have size one greater
  159. than the size of the config_autoBrightnessLevels array.
  160. The brightness values must be between 0 and 255 and be non-decreasing.
  161. This must be overridden in platform specific overlays -->
  162. <integer-array name="config_autoBrightnessLcdBacklightValues" />
  163. <!-- Array of desired screen brightness in nits corresponding to the lux values
  164. in the config_autoBrightnessLevels array. The display brightness is defined as the measured
  165. brightness of an all-white image.
  166. If this is defined then:
  167. - config_autoBrightnessLcdBacklightValues should not be defined
  168. - config_screenBrightnessNits must be defined
  169. - config_screenBrightnessBacklight must be defined
  170. This array should have size one greater than the size of the config_autoBrightnessLevels
  171. array. The brightness values must be non-negative and non-decreasing. This must be
  172. overridden in platform specific overlays -->
  173. <array name="config_autoBrightnessDisplayValuesNits">
  174. <item>3.0</item>
  175. <item>3.3</item>
  176. <item>4.0</item>
  177. <item>18.3</item>
  178. <item>28.2</item>
  179. <item>34.0</item>
  180. <item>38.9</item>
  181. <item>51.4</item>
  182. <item>65.7</item>
  183. <item>84.5</item>
  184. <item>91.9</item>
  185. <item>93.6</item>
  186. <item>93.6</item>
  187. <item>93.6</item>
  188. <item>95.0</item>
  189. <item>95.0</item>
  190. <item>95.0</item>
  191. <item>96.6</item>
  192. <item>96.6</item>
  193. <item>97.7</item>
  194. <item>97.7</item>
  195. <item>97.7</item>
  196. <item>97.7</item>
  197. <item>99.2</item>
  198. <item>99.2</item>
  199. <item>100.4</item>
  200. <item>103.2</item>
  201. <item>104.2</item>
  202. <item>105.8</item>
  203. <item>108.3</item>
  204. <item>109.7</item>
  205. <item>112.2</item>
  206. <item>113.6</item>
  207. <item>116.0</item>
  208. <item>117.2</item>
  209. <item>118.5</item>
  210. <item>122.4</item>
  211. <item>123.1</item>
  212. <item>124.6</item>
  213. <item>127.3</item>
  214. <item>128.5</item>
  215. <item>130.7</item>
  216. <item>131.6</item>
  217. <item>134.1</item>
  218. <item>136.0</item>
  219. <item>158.3</item>
  220. <item>176.4</item>
  221. <item>195.5</item>
  222. <item>225.4</item>
  223. <item>254.0</item>
  224. <item>292.1</item>
  225. <item>317.4</item>
  226. <item>334.4</item>
  227. <item>404.2</item>
  228. <item>433.1</item>
  229. <item>446.1</item>
  230. <item>460.9</item>
  231. <item>474.8</item>
  232. <item>488.7</item>
  233. <item>500.0</item>
  234. <item>500.0</item>
  235. <item>512.5</item>
  236. <item>525.0</item>
  237. <item>537.5</item>
  238. <item>550.0</item>
  239. <item>562.5</item>
  240. <item>575.0</item>
  241. <item>587.5</item>
  242. <item>600.0</item>
  243. <item>610.0</item>
  244. <item>620.0</item>
  245. <item>630.0</item>
  246. <item>640.0</item>
  247. <item>650.0</item>
  248. <item>660.0</item>
  249. <item>670.0</item>
  250. <item>680.0</item>
  251. <item>690.0</item>
  252. <item>700.0</item>
  253. <item>705.0</item>
  254. <item>710.0</item>
  255. <item>715.0</item>
  256. <item>720.0</item>
  257. <item>725.0</item>
  258. <item>730.0</item>
  259. <item>735.0</item>
  260. <item>740.0</item>
  261. <item>745.0</item>
  262. <item>750.0</item>
  263. <item>755.0</item>
  264. <item>760.0</item>
  265. <item>765.0</item>
  266. <item>770.0</item>
  267. <item>775.0</item>
  268. <item>800.0</item>
  269. <item>816.7</item>
  270. <item>833.3</item>
  271. <item>850.0</item>
  272. <item>866.7</item>
  273. <item>883.3</item>
  274. <item>900.0</item>
  275. <item>914.3</item>
  276. <item>928.6</item>
  277. <item>942.9</item>
  278. <item>957.1</item>
  279. <item>971.4</item>
  280. <item>985.7</item>
  281. <item>1000.0</item>
  282. </array>
  283. <!-- An array describing the screen's backlight values corresponding to the brightness
  284. values in the config_screenBrightnessNits array.
  285. This array should be equal in size to config_screenBrightnessBacklight. -->
  286. <integer-array name="config_screenBrightnessBacklight">
  287. <item>1</item>
  288. <item>255</item>
  289. </integer-array>
  290. <!-- An array of floats describing the screen brightness in nits corresponding to the backlight
  291. values in the config_screenBrightnessBacklight array. On OLED displays these values
  292. should be measured with an all white image while the display is in the fully on state.
  293. Note that this value should *not* reflect the maximum brightness value for any high
  294. brightness modes but only the maximum brightness value obtainable in a sustainable manner.
  295. This array should be equal in size to config_screenBrightnessBacklight -->
  296. <array name="config_screenBrightnessNits">
  297. <item>3.0</item>
  298. <item>1000.0</item>
  299. </array>
  300. <!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint
  301. values by calculating the index to use for lookup and then setting the constraint value
  302. to the corresponding value of the array. The new brightening hysteresis constraint value
  303. is the n-th element of config_ambientBrighteningThresholds, and the new darkening
  304. hysteresis constraint value is the n-th element of config_ambientDarkeningThresholds.
  305. The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
  306. condition calculated index
  307. value < level[0] 0
  308. level[n] <= value < level[n+1] n+1
  309. level[MAX] <= value MAX+1 -->
  310. <integer-array name="config_ambientThresholdLevels">
  311. <item>2</item>
  312. <item>10</item>
  313. <item>30</item>
  314. <item>100</item>
  315. <item>800</item>
  316. <item>2000</item>
  317. <item>4000</item>
  318. </integer-array>
  319. <!-- Array of hysteresis constraint values for brightening, represented as tenths of a
  320. percent. The length of this array is assumed to be one greater than
  321. config_ambientThresholdLevels. The brightening threshold is calculated as
  322. lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold,
  323. the screen brightness is recalculated. See the config_ambientThresholdLevels
  324. description for how the constraint value is chosen. -->
  325. <integer-array name="config_ambientBrighteningThresholds">
  326. <item>2</item>
  327. <item>6</item>
  328. <item>10</item>
  329. <item>30</item>
  330. <item>100</item>
  331. <item>400</item>
  332. <item>600</item>
  333. <item>1000</item>
  334. </integer-array>
  335. <!-- Array of hysteresis constraint values for darkening, represented as tenths of a
  336. percent. The length of this array is assumed to be one greater than
  337. config_ambientThresholdLevels. The darkening threshold is calculated as
  338. lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold,
  339. the screen brightness is recalculated. See the config_ambientThresholdLevels
  340. description for how the constraint value is chosen. -->
  341. <integer-array name="config_ambientDarkeningThresholds">
  342. <item>800</item>
  343. <item>800</item>
  344. <item>500</item>
  345. <item>500</item>
  346. <item>500</item>
  347. <item>500</item>
  348. <item>500</item>
  349. <item>500</item>
  350. </integer-array>
  351. <!-- Type of the udfps long press sensor. Empty if long press is not supported. -->
  352. <string name="config_dozeUdfpsLongPressSensorType" translatable="false">org.lineageos.sensor.udfps</string>
  353. <!-- The bounding path of the cutout region of the main built-in display.
  354. Must either be empty if there is no cutout region, or a string that is parsable by
  355. {@link android.util.PathParser}.
  356. The path is assumed to be specified in display coordinates with pixel units and in
  357. the display's native orientation, with the origin of the coordinate system at the
  358. center top of the display. Optionally, you can append either `@left` or `@right` to the
  359. end of the path string, in order to change the path origin to either the top left,
  360. or top right of the display.
  361. To facilitate writing device-independent emulation overlays, the marker `@dp` can be
  362. appended after the path string to interpret coordinates in dp instead of px units.
  363. Note that a physical cutout should be configured in pixels for the best results.
  364. If the display supports multiple resolutions, please define the path config based on the
  365. highest resolution so that it can be scaled correctly in each resolution.
  366. Example for a 10px x 10px square top-center cutout:
  367. <string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z</string>
  368. Example for a 10dp x 10dp square top-center cutout:
  369. <string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z @dp</string>
  370. @see https://www.w3.org/TR/SVG/paths.html#PathData
  371. -->
  372. <string name="config_mainBuiltInDisplayCutout" translatable="false">M -33 52 a 33 33 0 1 0 66 0 a 33 33 0 1 0 -66 0 Z</string>
  373. <!-- Like config_mainBuiltInDisplayCutout, but this path is used to report the
  374. one single bounding rect per device edge to the app via
  375. {@link DisplayCutout#getBoundingRect}. Note that this path should try to match the visual
  376. appearance of the cutout as much as possible, and may be smaller than
  377. config_mainBuiltInDisplayCutout
  378. -->
  379. <string name="config_mainBuiltInDisplayCutoutRectApproximation" translatable="false">M 0,0 H -33 V 87 H 33 V 0 H 0 Z</string>
  380. <!-- Whether the display cutout region of the main built-in display should be forced to
  381. black in software (to avoid aliasing or emulate a cutout that is not physically existent).
  382. -->
  383. <bool name="config_fillMainBuiltInDisplayCutout">true</bool>
  384. </resources>