== full source overlay config ==
<?xml version="1.0" encoding="utf-8"?>
<!--
     SPDX-FileCopyrightText: Shirayuki39 // Anything-at-25-00
     SPDX-License-Identifier: Apache-2.0
-->
<resources>
     <!-- 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>
    </string-array>

     <!-- Specifies whether to decouple the auto-suspend state of the device from the display on/off state. -->
     <bool name="config_powerDecoupleAutoSuspendModeFromDisplay">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">true</bool>

     <!-- Indicate whether to allow the device to suspend when the screen is off
          due to the proximity sensor.  This resource should only be set to true
          if the sensor HAL correctly handles the proximity sensor as a wake-up source.
          Otherwise, the device may fail to wake out of suspend reliably.
          The default is false. -->
     <bool name="config_suspendWhenScreenOffDueToProximity">true</bool>

    <!-- 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. Optionally, you can append either `@left` or `@right` to the
         end of the path string, in order to change the path origin to either the top left,
         or top right 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 -24,0 L -24,36 L 24,36 L 24,0 Z @dp</string>

    <!-- Whether the display cutout region of the main built-in display should be forced to
         black in software (to avoid aliasing or emulate a cutout that is not physically existent).
         -->
    <bool name="config_fillMainBuiltInDisplayCutout">false</bool>
     
    <!-- The default refresh rate for a given device. Change this value to set a higher default
         refresh rate. If the hardware composer on the device supports display modes with a higher
         refresh rate than the default value specified here, the framework may use those higher
         refresh rate modes if an app chooses one by setting preferredDisplayModeId or calling
         setFrameRate().
         If a non-zero value is set for config_defaultPeakRefreshRate, then
         config_defaultRefreshRate may be set to 0, in which case the value set for
         config_defaultPeakRefreshRate will act as the default frame rate. -->
    <integer name="config_defaultRefreshRate">0</integer>

    <!-- The default peak refresh rate for a given device. Change this value if you want to prevent
         the framework from using higher refresh rates, even if display modes with higher refresh
         rates are available from hardware composer. Only has an effect if the value is
         non-zero. -->
    <integer name="config_defaultPeakRefreshRate">120</integer>
    
     <!-- Flag indicating whether we should enable the automatic brightness.
         Software implementation will be used if config_hardware_auto_brightness_available is not set -->
    <bool name="config_automatic_brightness_available">true</bool>

    <!-- Array of desired screen brightness in nits corresponding to the lux values
         in the config_autoBrightnessLevels array. 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 -->
    <integer-array name="config_autoBrightnessLcdBacklightValues">
        <item>8</item>
        <item>64</item>
        <item>98</item>
        <item>104</item>
        <item>110</item>
        <item>116</item>
        <item>122</item>
        <item>128</item>
        <item>134</item>
        <item>182</item>
        <item>255</item>
        <item>255</item>
        <item>255</item>
        <item>255</item>
        <item>255</item>
        <item>255</item>
        <item>255</item>
        <item>255</item>
    </integer-array>

    <!-- An array describing the screen's backlight values corresponding to the brightness
    values in the config_screenBrightnessNits array. -->
    <integer-array name="config_screenBrightnessBacklight">
         <item>1</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>
    </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>4.5215</item>
         <item>33.37784</item>
         <item>69.09702</item>
         <item>105.53111</item>
         <item>141.15657</item>
         <item>177.40657</item>
         <item>212.14172</item>
         <item>247.64085</item>
         <item>282.03754</item>
         <item>317.2586</item>
         <item>351.1292</item>
         <item>384.87363</item>
         <item>418.19705</item>
         <item>451.90884</item>
         <item>485.0235</item>
         <item>517.10864</item>
         <item>548.933</item>
         <item>580</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 -->
    <integer-array name="config_autoBrightnessLevels">
         <item>128</item>
         <item>256</item>
         <item>384</item>
         <item>512</item>
         <item>640</item>
         <item>768</item>
         <item>896</item>
         <item>1024</item>
         <item>2048</item>
         <item>4096</item>
         <item>6144</item>
         <item>8192</item>
         <item>10240</item>
         <item>12288</item>
         <item>14336</item>
         <item>16384</item>
         <item>18432</item>
    </integer-array>

    <!-- Minimum screen brightness setting allowed by power manager.
         The user is forbidden from setting the brightness below this level.  -->
    <item type="dimen" name="config_screenBrightnessSettingMinimumFloat">0.003921569</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. -->
    <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.4</item>

    <!-- 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">2000</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">10</integer>

    <!-- Light sensor event rate in milliseconds for automatic brightness control. -->
    <integer name="config_autoBrightnessLightSensorRate">250</integer>

    <!-- 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>

    <!-- Display settings screen, Color mode options. Must be the same length and order as
          config_color_mode_options_values below. Only the values that also appear in
          frameworks/base/core/res/res/values/config.xml's config_availableColorModes are shown. -->
     <string-array name="config_color_mode_options_strings" translatable="false">
          <item>Natural</item>
          <item>Boosted</item>
     </string-array>

     <!-- Display settings screen, Color mode options. Must be the same length and order as
          config_color_mode_options_strings above. Only the values that also appear in
          frameworks/base/core/res/res/values/config.xml's config_availableColorModes are shown. -->
     <integer-array name="config_color_mode_options_values">
          <item>0</item>
          <item>1</item>
     </integer-array>

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

    <!-- Default radius of the software rounded corners. -->
    <dimen name="rounded_corner_radius">26.0dip</dimen>

    <!-- Radius of the software rounded corners at the top of the display in its natural
        orientation. If zero, the value of rounded_corner_radius is used. -->
    <dimen name="rounded_corner_radius_top">0.0dip</dimen>

    <!-- 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. -->
    <dimen name="rounded_corner_radius_bottom">0.0dip</dimen>

    <!-- The default height of the status bar used in {@link SystemBarUtils#getStatusBarHeight} to
         calculate the status bar height. -->
    <dimen name="status_bar_height_default">42dp</dimen>

    <!-- Height of the status bar.
         Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
         -->
    <dimen name="status_bar_height">@dimen/status_bar_height_portrait</dimen>

    <!-- Height of the status bar in portrait.
         Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
         -->
    <dimen name="status_bar_height_portrait">42dp</dimen>

    <!-- Height of the status bar in landscape.
         Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
         -->
    <dimen name="status_bar_height_landscape">28dp</dimen>

    <!-- Should the pinner service pin the Camera application? -->
    <bool name="config_pinnerCameraApp">false</bool>

    <!-- List of comma separated package names for which we the system will not show crash like
         tts, etc. dialogs. -->
    <string name="config_appsNotReportingCrashes">com.google.android.tts</string>   

    <!-- Set this to true to enable the platform's auto-power-save modes like doze and
     app standby.  These are not enabled by default because they require a standard
     cloud-to-device messaging service for apps to interact correctly with the modes
     (such as to be able to deliver an instant message to the device even when it is
     dozing).  This should be enabled if you have such services and expect apps to
     correctly use them when installed on your device.  Otherwise, keep this disabled
     so that applications can still use their own mechanisms. -->
    <bool name="config_enableAutoPowerModes">true</bool>

    <!-- True if the device supports Sustained Performance Mode -->
    <bool name="config_sustainedPerformanceModeSupported">true</bool>

    <!-- Amount of time in ms the user needs to press the relevant keys to trigger the screenshot chord -->
    <integer name="config_screenshotChordKeyTimeout">0</integer>

    <!-- 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 properties of a UDFPS sensor in pixels, in the order listed below: -->
    <bool name="allow_test_udfps" translatable="false">true</bool>

    <integer-array name="config_udfps_sensor_props" translatable="false">
        <item>540</item>
        <item>2172</item>
        <item>88</item>
    </integer-array>

    <!-- How long it takes for the HW to start illuminating after the illumination is requested. -->
    <integer name="config_udfps_illumination_transition_ms">0</integer>

    <!-- Whether to cancel fingerprint operation if not idle -->
    <bool name="config_fpCancelIfNotIdle">true</bool>

    <!-- Whether to cleanup fingerprints upon connection to the daemon and when user switches -->
    <bool name="config_cleanupUnusedFingerprints">false</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>

     <!-- 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>

     <!-- Whether the always on display mode is available. -->
     <bool name="config_dozeAlwaysOnDisplayAvailable">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>

     <!-- Doze Configs -->
     <integer name="config_screenBrightnessDoze">5</integer>
     <bool name="config_dozeAfterScreenOff">true</bool>

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