<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2009 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.  Do not translate. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
         Software implementation will be used if config_hardware_auto_brightness_available is not set -->
    <bool name="config_automatic_brightness_available">true</bool>

    <!-- 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>6</item>
        <item>8</item>
        <item>10</item>
        <item>15</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>120</item>
        <item>140</item>
        <item>160</item>
        <item>180</item>
        <item>200</item>
        <item>220</item>
        <item>240</item>
        <item>260</item>
        <item>280</item>
        <item>300</item>
        <item>320</item>
        <item>340</item>
        <item>360</item>
        <item>380</item>
        <item>400</item>
        <item>420</item>
        <item>440</item>
        <item>460</item>
        <item>480</item>
        <item>500</item>
        <item>700</item>
        <item>900</item>
        <item>1100</item>
        <item>1300</item>
        <item>1500</item>
        <item>1700</item>
        <item>1900</item>
        <item>2000</item>
        <item>2500</item>
        <item>3000</item>
        <item>3500</item>
        <item>4000</item>
        <item>4500</item>
        <item>5000</item>
        <item>5500</item>
        <item>6000</item>
        <item>6500</item>
        <item>7000</item>
        <item>7500</item>
        <item>8000</item>
        <item>8500</item>
        <item>9000</item>
        <item>9500</item>
        <item>10000</item>
        <item>10500</item>
        <item>11000</item>
        <item>11500</item>
        <item>12000</item>
        <item>12500</item>
        <item>13000</item>
        <item>13500</item>
        <item>14000</item>
        <item>14500</item>
        <item>15000</item>
        <item>16000</item>
        <item>17000</item>
        <item>18000</item>
        <item>19000</item>
        <item>20000</item>
        <item>21000</item>
        <item>22000</item>
        <item>23000</item>
        <item>24000</item>
        <item>25000</item>
        <item>26000</item>
        <item>27000</item>
        <item>28000</item>
        <item>29000</item>
        <item>30000</item>
        <item>35000</item>
        <item>40000</item>
        <item>45000</item>
        <item>50000</item>
        <item>55000</item>
        <item>60000</item>
        <item>65000</item>
        <item>70000</item>
        <item>75000</item>
        <item>80000</item>
        <item>85000</item>
        <item>90000</item>
        <item>95000</item>
        <item>100000</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>3.5</item>
        <item>4.3</item>
        <item>5.0</item>
        <item>17.0</item>
        <item>24.0</item>
        <item>31.0</item>
        <item>34.0</item>
        <item>46.0</item>
        <item>59.0</item>
        <item>76.0</item>
        <item>81.0</item>
        <item>82.0</item>
        <item>82.0</item>
        <item>82.0</item>
        <item>83.0</item>
        <item>83.0</item>
        <item>83.0</item>
        <item>84.0</item>
        <item>84.0</item>
        <item>85.0</item>
        <item>85.0</item>
        <item>85.0</item>
        <item>85.0</item>
        <item>86.0</item>
        <item>86.0</item>
        <item>87.0</item>
        <item>89.0</item>
        <item>90.0</item>
        <item>91.0</item>
        <item>93.0</item>
        <item>94.0</item>
        <item>96.0</item>
        <item>97.0</item>
        <item>99.0</item>
        <item>100.0</item>
        <item>101.0</item>
        <item>104.0</item>
        <item>105.0</item>
        <item>106.0</item>
        <item>108.0</item>
        <item>109.0</item>
        <item>111.0</item>
        <item>112.0</item>
        <item>114.0</item>
        <item>116.0</item>
        <item>137.0</item>
        <item>157.0</item>
        <item>180.0</item>
        <item>205.0</item>
        <item>226.0</item>
        <item>257.0</item>
        <item>280.0</item>
        <item>295.0</item>
        <item>369.0</item>
        <item>400.0</item>
        <item>416.7</item>
        <item>433.3</item>
        <item>450.0</item>
        <item>466.7</item>
        <item>483.3</item>
        <item>500.0</item>
        <item>512.5</item>
        <item>525.0</item>
        <item>537.5</item>
        <item>550.0</item>
        <item>562.5</item>
        <item>575.0</item>
        <item>587.5</item>
        <item>600.0</item>
        <item>610.0</item>
        <item>620.0</item>
        <item>630.0</item>
        <item>640.0</item>
        <item>650.0</item>
        <item>660.0</item>
        <item>670.0</item>
        <item>680.0</item>
        <item>690.0</item>
        <item>700.0</item>
        <item>705.0</item>
        <item>710.0</item>
        <item>715.0</item>
        <item>720.0</item>
        <item>725.0</item>
        <item>730.0</item>
        <item>735.0</item>
        <item>740.0</item>
        <item>745.0</item>
        <item>750.0</item>
        <item>755.0</item>
        <item>760.0</item>
        <item>765.0</item>
        <item>770.0</item>
        <item>775.0</item>
        <item>800.0</item>
        <item>816.7</item>
        <item>833.3</item>
        <item>850.0</item>
        <item>866.7</item>
        <item>883.3</item>
        <item>900.0</item>
        <item>914.3</item>
        <item>928.6</item>
        <item>942.9</item>
        <item>957.1</item>
        <item>971.4</item>
        <item>985.7</item>
        <item>1000.0</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>4.5</item>
        <item>1000</item>
    </array>

    <!-- 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. -->
    <array name="config_screenBrightnessBacklight">
        <item>1</item>
        <item>255</item>
    </array>

    <!-- 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">3000</integer>
    <integer name="config_autoBrightnessDarkeningLightDebounce">3000</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">13</integer>

    <!-- The maximum range of gamma adjustment possible using the screen
         auto-brightness adjustment setting. -->
    <fraction name="config_autoBrightnessAdjustmentMaxGamma">100%</fraction>

    <!-- Minimum screen brightness setting allowed by power manager.
         The user is forbidden from setting the brightness below this level.
         Equivalent to 17/4095. -->
         <item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">0.00415140415</item>

    <!-- Maximum screen brightness allowed by the power manager.
         The user is forbidden from setting the brightness above this level.  -->
    <item name="config_screenBrightnessSettingMaximumFloat" format="float" type="dimen">1.0</item>

    <!-- Default screen brightness setting
         Must be in the range specified by minimum and maximum.
         Equivalent to 67/255 (default for this device)    -->
    <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.26274509804</item>

    <!-- 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 -->
    <integer-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>
    </integer-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_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. -->
    <integer-array name="config_ambientBrighteningThresholds">
        <item>2</item>
        <item>5</item>
        <item>10</item>
        <item>30</item>
        <item>100</item>
        <item>400</item>
        <item>600</item>
        <item>1000</item>
    </integer-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. -->
    <integer-array name="config_ambientDarkeningThresholds">
        <item>800</item>
        <item>800</item>
        <item>500</item>
        <item>500</item>
        <item>500</item>
        <item>500</item>
        <item>500</item>
        <item>500</item>
    </integer-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. -->
    <integer-array name="config_screenBrighteningThresholds">
        <item>0</item>
    </integer-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. -->
    <integer-array name="config_screenDarkeningThresholds">
        <item>0</item>
    </integer-array>

    <!-- Indicate available ColorDisplayManager.COLOR_MODE_xxx. -->
    <integer-array name="config_availableColorModes">
        <item>0</item> <!-- COLOR_MODE_NATURAL   -->
        <item>1</item> <!-- COLOR_MODE_BOOSTED   -->
        <item>3</item> <!-- COLOR_MODE_AUTOMATIC -->
    </integer-array>

    <!-- Color mode to use when accessibility transforms are enabled. This color mode must be
         supported by the device, but not necessarily appear in config_availableColorModes. The
         regularly selected color mode will be used if this value is negative. -->
    <integer name="config_accessibilityColorMode">2</integer>

    <!-- The following two arrays specify which color space to use for display composition when a
         certain color mode is active.
         Composition color spaces are defined in android.view.Display.COLOR_MODE_xxx, and color
         modes are defined in ColorDisplayManager.COLOR_MODE_xxx and
         ColorDisplayManager.VENDOR_COLOR_MODE_xxx.
         The color space COLOR_MODE_DEFAULT (0) lets the system select the most appropriate
         composition color space for currently displayed content. Other values (e.g.,
         COLOR_MODE_SRGB) override system selection; these other color spaces must be supported by
         the device for for display composition.
         If a color mode does not have a corresponding color space specified in this array, the
         currently set composition color space will not be modified.-->
    <integer-array name="config_displayCompositionColorModes">
        <item>0</item> <!-- COLOR_MODE_NATURAL   -->
        <item>1</item> <!-- COLOR_MODE_BOOSTED   -->
        <item>2</item> <!-- COLOR_MODE_SATURATED -->
        <item>3</item> <!-- COLOR_MODE_AUTOMATIC -->
    </integer-array>
    <integer-array name="config_displayCompositionColorSpaces">
        <item>0</item> <!-- COLOR_MODE_DEFAULT    -->
        <item>0</item> <!-- COLOR_MODE_DEFAULT    -->
        <item>0</item> <!-- COLOR_MODE_DEFAULT    -->
        <item>9</item> <!-- COLOR_MODE_DISPLAY_P3 -->
    </integer-array>

    <!-- Whether or not wcg mode should be enabled on this device -->
    <bool name="config_enableWcgMode">true</bool>

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

    <!-- Vibrator pattern for feedback about touching a virtual key -->
    <integer-array name="config_virtualKeyVibePattern">
        <item>0</item>
        <item>10</item>
    </integer-array>

    <!-- The bounding path of the cutout region of the main built-in display.
         Must either be empty if there is no cutout region, or a string that is parsable by
         {@link android.util.PathParser}.
         The path is assumed to be specified in display coordinates with pixel units and in
         the display's native orientation, with the origin of the coordinate system at the
         center top of the display.
         To facilitate writing device-independent emulation overlays, the marker `@dp` can be
         appended after the path string to interpret coordinates in dp instead of px units.
         Note that a physical cutout should be configured in pixels for the best results.
         Example for a 10px x 10px square top-center cutout:
                <string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z</string>
         Example for a 10dp x 10dp square top-center cutout:
                <string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z @dp</string>
         @see https://www.w3.org/TR/SVG/paths.html#PathData
         -->
    <string name="config_mainBuiltInDisplayCutout">M 559,65 A 19,19 0 0 1 540,83 19,19 0 0 1 521,65 19,19 0 0 1 540,46 19,19 0 0 1 559,65 Z @left</string>

    <!-- Whether device has a physical display cutout -->
    <bool name="config_physicalDisplayCutout">true</bool>

    <!-- The default refresh rate. Moonstone manages this using the peak refresh rate setting, so set
         this value to 0 so it has no effect. -->
    <integer name="config_defaultRefreshRate">0</integer>

    <!-- The default peak refresh rate. -->
    <integer name="config_defaultPeakRefreshRate">120</integer>

    <!-- If true, the display will be shifted around in ambient mode. -->
    <bool name="config_enableBurnInProtection">true</bool>

    <!-- Enable burn protection in status bar -->
    <bool name="config_statusBarBurnInProtection">true</bool>

    <!-- Specifies the maximum burn-in offset displacement from the center. If -1, no maximum value
         will be used. -->
    <integer name="config_burnInProtectionMaxRadius">70</integer>

    <!-- Specifies the minimum burn-in offset horizontally. -->
    <integer name="config_burnInProtectionMinHorizontalOffset">-15</integer>

    <!-- Specifies the maximum burn-in offset horizontally. -->
    <integer name="config_burnInProtectionMaxHorizontalOffset">15</integer>

    <!-- Specifies the minimum burn-in offset vertically. -->
    <integer name="config_burnInProtectionMinVerticalOffset">-40</integer>

    <!-- Specifies the maximum burn-in offset vertically. -->
    <integer name="config_burnInProtectionMaxVerticalOffset">40</integer>

    <!-- Indicates whether device has a power button fingerprint sensor. -->
    <bool name="config_is_powerbutton_fps" translatable="false" >true</bool>

    <!-- An array of arrays of side fingerprint sensor properties relative to each display.
         Note: this value is temporary and is expected to be queried directly
         from the HAL in the future. -->
    <array name="config_sfps_sensor_props" translatable="false">
        <item>@array/config_sfps_sensor_props_0</item>
    </array>

    <array name="config_sfps_sensor_props_0" translatable="false">
        <item></item> <!--item>displayId</item-->
        <item>1080</item> <!--item>sensorLocationX</item-->
        <item>960</item> <!--item>sensorLocationY</item-->
        <item>200</item> <!--item>sensorRadius</item-->
    </array>
    
    <!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
    <bool name="config_unplugTurnsOnScreen">true</bool>

    <!-- Boolean indicating if restoring network selection should be skipped -->
    <!-- The restoring is handled by modem if it is true-->
    <bool translatable="false" name="skip_restoring_network_selection">true</bool>

    <!-- Set to true to add links to Cell Broadcast app from Settings and MMS app. -->
    <bool name="config_cellBroadcastAppLinks">true</bool>

    <!-- MMS user agent string -->
    <string name="config_mms_user_agent" translatable="false">Android-Mms/2.0</string>

     <!-- This string array should be overridden by the device to present a list of network
         attributes.  This is used by the connectivity manager to decide which networks can coexist
         based on the hardware -->
    <!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
         [associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet]  -->
    <!-- the 5th element "resore-time" indicates the number of milliseconds to delay
         before automatically restore the default connection.  Set -1 if the connection
         does not require auto-restore. -->
    <!-- the 6th element indicates boot-time dependency-met value. -->
    <string-array name="networkAttributes">
        <item>wifi,1,1,1,-1,true</item>
        <item>mobile,0,0,0,-1,true</item>
        <item>mobile_mms,2,0,4,60000,true</item>
        <item>mobile_supl,3,0,2,60000,true</item>
        <item>mobile_dun,4,0,2,60000,true</item>
        <item>mobile_hipri,5,0,3,60000,true</item>
        <item>mobile_fota,10,0,2,60000,true</item>
        <item>mobile_ims,11,0,2,60000,true</item>
        <item>mobile_cbs,12,0,2,60000,true</item>
        <item>bluetooth,7,7,2,-1,true</item>
        <item>mobile_emergency,15,0,5,-1,true</item>
        <item>ethernet,9,9,9,-1,true</item>
        <item>wifi_slave,30,1,1,-1,true</item>
    </string-array>

    <!-- This string array should be overridden by the device to present a list of radio
         attributes.  This is used by the connectivity manager to decide which networks can coexist
         based on the hardware -->
    <!-- An Array of "[ConnectivityManager connectionType],
                      [# simultaneous connection types]"  -->
    <string-array name="radioAttributes">
        <item>1,1</item>
        <item>0,1</item>
        <item>7,1</item>
    </string-array>

    <!-- Whether WiFi display is supported by this device.
         There are many prerequisites for this feature to work correctly.
         Here are a few of them:
         * The WiFi radio must support WiFi P2P.
         * The WiFi radio must support concurrent connections to the WiFi display and
           to an access point.
         * The Audio Flinger audio_policy.conf file must specify a rule for the "r_submix"
           remote submix module.  This module is used to record and stream system
           audio output to the WiFi display encoder in the media server.
         * The remote submix module "audio.r_submix.default" must be installed on the device.
         * The device must be provisioned with HDCP keys (for protected content).
    -->
    <bool name="config_enableWifiDisplay">true</bool>

    <!-- Set to true if the wifi display supports compositing content stored
         in gralloc protected buffers.  For this to be true, there must exist
         a protected hardware path for surface flinger to composite and send
         protected buffers to the wifi display video encoder.
         If this flag is false, we advise applications not to use protected
         buffers (if possible) when presenting content to a wifi display because
         the content may be blanked.
         This flag controls whether the {@link Display#FLAG_SUPPORTS_PROTECTED_BUFFERS}
         flag is set for wifi displays.
    -->
    <bool name="config_wifiDisplaySupportsProtectedBuffers">true</bool>

    <!-- ComponentName of a dream to show whenever the system would otherwise have
         gone to sleep.  When the PowerManager is asked to go to sleep, it will instead
         try to start this dream if possible.  The dream should typically call startDozing()
         to put the display into a low power state and allow the application processor
         to be suspended.  When the dream ends, the system will go to sleep as usual.
         Specify the component name or an empty string if none.
         Note that doze dreams are not subject to the same start conditions as ordinary dreams.
         Doze dreams will run whenever the power manager is in a dozing state. -->
    <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
    <bool name="config_dozeAfterScreenOff">true</bool>

    <!-- If true, the doze component is not started until after the screen has been
         turned off and the screen off animation has been performed. -->
    <bool name="config_dozeAfterScreenOffByDefault">true</bool>

    <!-- Power Management: Specifies whether to decouple the interactive state of the
         device from the display on/off state.
         When false, setInteractive(..., true) will be called before the display is turned on
         and setInteractive(..., false) will be called after the display is turned off.
         This mode provides best compatibility for devices that expect the interactive
         state to be tied to the display state.
         When true, setInteractive(...) will be called independently of whether the display
         is being turned on or off.  This mode enables the power manager to reduce
         clocks and disable the touch controller while the display is on.
         This resource should be set to "true" when a doze component has been specified
         to maximize power savings but not all devices support it.
         Refer to power.h for details.
    -->
    <bool name="config_powerDecoupleInteractiveModeFromDisplay">false</bool>

    <!-- Power Management: Specifies whether to decouple the auto-suspend state of the
         device from the display on/off state.

         When false, autosuspend_disable() will be called before the display is turned on
         and autosuspend_enable() will be called after the display is turned off.
         This mode provides best compatibility for devices using legacy power management
         features such as early suspend / late resume.

         When true, autosuspend_display() and autosuspend_enable() will be called
         independently of whether the display is being turned on or off.  This mode
         enables the power manager to suspend the application processor while the
         display is on.

         This resource should be set to "true" when a doze component has been specified
         to maximize power savings but not all devices support it.

         Refer to autosuspend.h for details.
    -->
    <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>

    <!-- Enable doze alwaysOn Display -->
    <bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>

    <!-- Doze: should the TYPE_PICK_UP_GESTURE sensor be used as a pulse signal. -->
    <bool name="config_dozePulsePickup">true</bool>

    <!-- Control whether the always on display mode is enabled by default. This value will be used
         during initialization when the setting is still null. -->
    <bool name="config_dozeAlwaysOnEnabled">false</bool>

    <!-- True if the display hardware only has brightness buckets rather than a full range of
         backlight values -->
    <bool name="config_displayBrightnessBucketsInDoze">true</bool>

    <!-- Screen brightness used to dim the screen while dozing in a very low power state.
         May be less than the minimum allowed brightness setting
         that can be set by the user. -->
    <integer name="config_screenBrightnessDoze">13</integer>
    <item name="config_screenBrightnessDozeFloat" format="float" type="dimen">0.00317460317</item>

    <!-- Delay that allows some content to arrive at the display before switching
         from DOZE to ON, in millis. -->
    <integer name="config_wakeUpDelayDoze">32</integer>

    <!-- Configure mobile tcp buffer sizes in the form:
         rat-name:rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max
         If no value is found for the rat-name in use, the system default will be applied.
    -->
    <string-array name="config_mobile_tcp_buffers">
        <item>5gnr:2097152,6291456,16777216,512000,2097152,8388608</item>
        <item>lte:2097152,4194304,8388608,262144,524288,1048576</item>
        <item>lte_ca:4096,6291456,12582912,4096,1048576,2097152</item>
        <item>umts:4094,87380,1220608,4096,16384,1220608</item>
        <item>hspa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hsupa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hsdpa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hspap:4094,87380,1220608,4096,16384,1220608</item>
        <item>edge:4093,26280,35040,4096,16384,35040</item>
        <item>gprs:4092,8760,11680,4096,8760,11680</item>
        <item>evdo:4094,87380,524288,4096,16384,262144</item>
    </string-array>

    <!-- Flag specifying whether VoLTE is available on device -->
    <bool name="config_device_volte_available">true</bool>

    <!-- Flag specifying whether VT is available on device -->
    <bool name="config_device_vt_available">true</bool>

    <!-- Flag specifying whether WFC over IMS is available on device -->
    <bool name="config_device_wfc_ims_available">true</bool>

    <!-- IWLAN data service package name to bind to by default. If none is specified in an overlay, an
         empty string is passed in -->
    <string name="config_wlan_data_service_package">vendor.qti.iwlan</string>

    <!-- IWLAN network service package name to bind to by default. If none is specified in an overlay, an
         empty string is passed in -->
    <string name="config_wlan_network_service_package">vendor.qti.iwlan</string>

    <!-- Telephony qualified networks service package name to bind to by default. -->
    <string name="config_qualified_networks_service_package">vendor.qti.iwlan</string>

    <!-- Flag specifying whether or not IMS will use the ImsResolver dynamically -->
    <bool name="config_dynamic_bind_ims">true</bool>

    <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
         in hardware. -->
    <bool name="config_setColorTransformAccelerated">true</bool>

    <!-- Is the device capable of hot swapping an ICC Card -->
    <bool name="config_hotswapCapable">true</bool>

    <!-- Whether the Unprocessed audio source supports the required frequency range and level -->
    <bool name="config_supportAudioSourceUnprocessed">true</bool>

    <!-- Number of physical SIM slots on the device. This includes both eSIM and pSIM slots, and
         is not necessarily the same as the number of phones/logical modems supported by the device.
         For example, a multi-sim device can have 2 phones/logical modems, but 3 physical slots,
         or a single SIM device can have 1 phones/logical modems, but 2 physical slots (one eSIM
         and one pSIM) -->
    <integer name="config_num_physical_slots">2</integer>

    <!-- Config determines whether to update phone object when voice registration
         state changes. Voice radio tech change will always trigger an update of
         phone object irrespective of this config -->
    <bool name="config_switch_phone_on_voice_reg_state_change">false</bool>

    <!-- Flag indicating if the speed up audio on mt call code should be executed -->
    <bool name="config_speed_up_audio_on_mt_calls">true</bool>

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

    <!-- Default list of files pinned by the Pinner Service -->
    <string-array translatable="false" name="config_defaultPinnerServiceFiles">
        <item>"/system/framework/framework.jar"</item>
        <item>"/system/framework/services.jar"</item>
        <item>"/apex/com.android.art/javalib/core-oj.jar"</item>
        <item>"/apex/com.android.art/javalib/core-libart.jar"</item>
        <item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
        <item>"/system/bin/surfaceflinger"</item>
    </string-array>

    <!-- Should the pinner service pin the Home application? -->
    <bool name="config_pinnerHomeApp">true</bool>

    <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
         autodetected from the Configuration. -->
    <bool name="config_showNavigationBar">true</bool>

    <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
         on the headphone/microphone jack. When false use the older uevent framework. -->
    <bool name="config_useDevInputEventForAudioJack">true</bool>

    <!-- Whether device supports double tap to wake -->
    <bool name="config_supportDoubleTapWake">true</bool>

    <!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
         when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
         where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
         and Strength as defined in Authenticators.java -->
    <string-array name="config_biometric_sensors" translatable="false" >
        <item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
    </string-array>

    <!-- Enables or disables haptic effect when the text insertion/selection handle is moved
         manually by the user. Off by default, since the expected haptic feedback may not be
         available on some devices. -->
    <bool name="config_enableHapticTextHandle">true</bool>
    
    <!-- The duration (in milliseconds) that should be applied to waveform vibrations that ends in
         non-zero amplitudes, to bring the vibrator amplitude down to zero using this timing. -->
    <integer name="config_vibrationWaveformRampDownDuration">25</integer>

     <!-- Package name of a telephony-related system app, such as an IMS service.
         Exempted from privacy indicators. -->
    <string name="config_systemTelephonyPackage" translatable="false">com.qualcomm.qti.cne</string>

    <!-- Enable video pause workaround when enabling/disabling the camera. -->
    <bool name="config_useVideoPauseWorkaround">true</bool>
    
    <!-- Preferred max refresh rate at keyguard, if supported by the display. -->
    <integer name="config_keyguardMaxRefreshRate">60</integer>
    
    <!-- If not empty, sets the AVC codec profile level used for the internal screen recorder.
         Possible values: 3, 3.1, 3.2, 4, 4.1, 4.2
    -->
    <string name="config_screenRecorderAVCProfileLevel" translatable="false">3.1</string>
    
    <!-- Device configuration indicating whether we should avoid using accelerated graphics
         in certain places to reduce RAM footprint.  This is ignored if ro.config.low_ram
         is true (in that case this is assumed true as well).  It can allow you to tune down
         your device's memory use without going to the point of causing applications to turn
         off features. -->
    <bool name="config_avoidGfxAccel">true</bool>
    
    <!-- Path to fast charging status file to detect whether an oem fast charger is active -->
    <string name="config_oemFastChargerStatusPath" translatable="false">/sys/class/power_supply/usb/quick_charge_type</string>

    <!-- Expected value from fast charging status file  -->
    <string name="config_oemFastChargerStatusValue" translatable="false">3</string>
    
    <!-- Enables or disables fading edges when marquee is enabled in TextView.
         Off by default, since the framebuffer readback used to implement the
         fading edges is prohibitively expensive on most GPU's. -->
    <bool name="config_ui_enableFadingMarquee">true</bool>

</resources>
