<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2017, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<!-- These resources are around just to allow their values to be customized
     for different hardware and product builds. -->
<resources>

    <!-- MMS user agent string -->
    <string name="config_mms_user_agent" translatable="false">g011c</string>
    <!-- MMS user agent prolfile url -->
    <string name="config_mms_user_agent_profile_url" translatable="false">http://www.gstatic.com/android/sms/G011C.xml</string>

    <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
         The N entries of this array define N  1 zones as follows:

         Zone 0:        0 <= LUX < array[0]
         Zone 1:        array[0] <= LUX < array[1]
         ...
         Zone N:        array[N - 1] <= LUX < array[N]
         Zone N + 1     array[N] <= LUX < infinity

         Must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessLevels">
        <item>5</item>
        <item>20</item>
        <item>40</item>
        <item>100</item>
        <item>325</item>
        <item>600</item>
        <item>1250</item>
        <item>2200</item>
        <item>4000</item>
        <item>5000</item>
    </integer-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>13.25</item>  <!-- 0-5 -->
        <item>54</item>     <!-- 5-20 -->
        <item>78.85</item>  <!-- 20-40 -->
        <item>105.02</item> <!-- 40-100 -->
        <item>132.7</item>  <!-- 100-325 -->
        <item>170.12</item> <!-- 325-600 -->
        <item>212.1</item>  <!-- 600-1250 -->
        <item>265.2</item>  <!-- 1250-2200 -->
        <item>335.8</item>  <!-- 2200-4000 -->
        <item>415.2</item>  <!-- 4000-5000 -->
        <item>478.5</item>  <!-- 5000+ -->
    </array>


    <!-- Shutdown if the battery temperature exceeds (this value * 0.1) Celsius. -->
    <integer name="config_shutdownBatteryTemperature">600</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">15</integer>

    <!-- Screen brightness when dozing. -->
    <integer name="config_screenBrightnessDoze">13</integer>

    <!-- Whether the display blanks itself when transition from a doze to a non-doze state -->
    <bool name="config_displayBlanksAfterDoze">true</bool>

    <!-- Default screen brightness setting.
         Must be in the range specified by minimum and maximum. -->
    <integer name="config_screenBrightnessSettingDefault">98</integer>

    <!-- Default screen brightness for VR setting. Default value: 0x56 => 86. -->
    <integer name="config_screenBrightnessForVrSettingDefault">86</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">1</integer>

    <!-- An array describing the screen's backlight values corresponding to the brightness
         values in the config_screenBrightnessNits array.

         This array should be equal in size to config_screenBrightnessBacklight. -->
    <integer-array name="config_screenBrightnessBacklight">
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
        <item>6</item>
        <item>7</item>
        <item>8</item>
        <item>9</item>
        <item>10</item>
        <item>11</item>
        <item>12</item>
        <item>13</item>
        <item>14</item>
        <item>15</item>
        <item>16</item>
        <item>17</item>
        <item>18</item>
        <item>19</item>
        <item>20</item>
        <item>25</item>
        <item>30</item>
        <item>35</item>
        <item>40</item>
        <item>45</item>
        <item>50</item>
        <item>55</item>
        <item>60</item>
        <item>65</item>
        <item>70</item>
        <item>75</item>
        <item>80</item>
        <item>85</item>
        <item>90</item>
        <item>95</item>
        <item>100</item>
        <item>105</item>
        <item>110</item>
        <item>115</item>
        <item>120</item>
        <item>125</item>
        <item>130</item>
        <item>135</item>
        <item>140</item>
        <item>145</item>
        <item>150</item>
        <item>155</item>
        <item>160</item>
        <item>165</item>
        <item>170</item>
        <item>175</item>
        <item>180</item>
        <item>185</item>
        <item>190</item>
        <item>195</item>
        <item>200</item>
        <item>205</item>
        <item>210</item>
        <item>215</item>
        <item>220</item>
        <item>225</item>
        <item>230</item>
        <item>235</item>
        <item>240</item>
        <item>245</item>
        <item>250</item>
        <item>255</item>
    </integer-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>2.685</item>
        <item>3.343</item>
        <item>4.13</item>
        <item>5.216</item>
        <item>6.308</item>
        <item>7.565</item>
        <item>9.269</item>
        <item>10.98</item>
        <item>13.25</item>
        <item>15.49</item>
        <item>18.42</item>
        <item>20.6</item>
        <item>22.71</item>
        <item>24.68</item>
        <item>26.31</item>
        <item>28.39</item>
        <item>30.34</item>
        <item>32.39</item>
        <item>33.94</item>
        <item>35.94</item>
        <item>45.12</item>
        <item>54</item>
        <item>62.31</item>
        <item>70.73</item>
        <item>78.85</item>
        <item>86.41</item>
        <item>93.53</item>
        <item>102.3</item>
        <item>109.1</item>
        <item>118.7</item>
        <item>126.4</item>
        <item>136.9</item>
        <item>147.8</item>
        <item>158.9</item>
        <item>168.3</item>
        <item>177.4</item>
        <item>186.6</item>
        <item>195.7</item>
        <item>204.5</item>
        <item>214</item>
        <item>221.8</item>
        <item>234</item>
        <item>242.1</item>
        <item>250.6</item>
        <item>263.4</item>
        <item>272.4</item>
        <item>282.5</item>
        <item>296.3</item>
        <item>305.6</item>
        <item>315.3</item>
        <item>329.8</item>
        <item>339.8</item>
        <item>349.7</item>
        <item>357.4</item>
        <item>364.6</item>
        <item>374.6</item>
        <item>384.9</item>
        <item>392.5</item>
        <item>402.8</item>
        <item>413.6</item>
        <item>421.6</item>
        <item>432.2</item>
        <item>440.3</item>
        <item>448.3</item>
        <item>459.2</item>
        <item>467.6</item>
        <item>478.5</item>
    </array>

    <!-- Values for USB port setting. in format of bootmode:current function:new function -->
    <string-array translatable="false" name="config_oemUsbModeOverride">
        <item>"usbradio:adb:diag,serial_cdev,rmnet_gsi,adb:diag,serial_cdev,rmnet_gsi"</item>
        <item>"usbradio:mtp,adb:diag,serial_cdev,rmnet_gsi,adb:diag,serial_cdev,rmnet_gsi"</item>
        <item>"usbradio:mtp:diag,serial_cdev,rmnet_gsi:diag,serial_cdev,rmnet_gsi"</item>
    </string-array>

    <!-- Vibrator pattern for feedback about a long screen/key press -->
    <integer-array name="config_longPressVibePattern">
        <item>12</item>
    </integer-array>

    <!-- Enable ACS (auto channel selection) for Wifi hotspot (SAP) -->
    <bool translatable="false" name="config_wifi_softap_acs_supported">true</bool>

    <!-- Enable 802.11ac for Wifi hotspot (SAP) -->
    <bool translatable="false" name="config_wifi_softap_ieee80211ac_supported">true</bool>


  </resources>
