<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2021, 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.
*/
-->

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- 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">true</bool>

    <!-- Display cutout configuration -->
    <string translatable="false" name="config_mainBuiltInDisplayCutout">
        M 677,72
        a 42,42 0 1 0 84,0 
        a 42,42 0 1 0 -84,0
        Z
        @left
    </string>

    <string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">
        M 653,0
        h 130
        v 130
        h -130
        Z
        @left
    </string>


    <!-- Radius of the software rounded corners. -->
    <dimen name="rounded_corner_radius">50px</dimen>

    <!-- Adjustment for software rounded corners since corners aren't perfectly round. -->
    <dimen name="rounded_corner_radius_adjustment">5px</dimen>

    <!-- Type of the udfps long press sensor. Empty if long press is not supported. -->
    <string name="config_dozeUdfpsLongPressSensorType" translatable="false">com.google.sensor.long_press</string>

    <!-- Type of the quick pickup sensor. Empty if quick pickup is not supported. -->
    <string name="config_quickPickupSensorType" translatable="false">com.google.sensor.quick_pickup</string>

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

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

    <!-- Minimum screen brightness allowed by the power manager. -->
    <integer name="config_screenBrightnessDim">6</integer>

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

    <!-- The default refresh rate. Pixel 6 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>

    <!-- Not allow to switch to higher refresh rate when display brightness setting is
         equal or less than this value -->
    <integer-array name="config_brightnessThresholdsOfPeakRefreshRate">
        <item>2</item> <!-- 15% UI brightness -->
    </integer-array>
    <integer-array name="config_ambientThresholdsOfPeakRefreshRate">
        <item>5</item>
    </integer-array>

    <!-- default refresh rate in the zone defined by birghtness and ambient thresholds -->
    <integer name="config_defaultRefreshRateInZone">120</integer>

    <!-- 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>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>8</item>
        <item>12</item>
        <item>20</item>
        <item>33</item>
        <item>55</item>
        <item>90</item>
        <item>148</item>
        <item>245</item>
        <item>403</item>
        <item>665</item>
        <item>1097</item>
        <item>1808</item>
        <item>2981</item>
        <item>5000</item>
        <item>10000</item>
        <item>20000</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>5.139055</item>       <!--  0 - 1 -->
      <item>9.962018965</item>    <!--  1 - 2 -->
      <item>18.34822964</item>    <!--  2 - 3 -->
      <item>21.55068128</item>    <!--  3 - 4 -->
      <item>24.0167788</item>     <!--  4 - 8 -->
      <item>30.62162162</item>    <!--  8 - 12 -->
      <item>35.09486396</item>    <!--  12 - 20 -->
      <item>41.2249643</item>     <!--  20 - 33 -->
      <item>47.6760716</item>     <!--  33 - 55 -->
      <item>55.73002427</item>    <!--  55 - 90 -->
      <item>66.24126116</item>    <!--  90 - 148 -->
      <item>79.67614115</item>    <!--  148 - 245 -->
      <item>98.04727274</item>    <!--  245 - 403 -->
      <item>125.1221991</item>    <!--  403 - 665 -->
      <item>161.6875093</item>    <!--  665 - 1097 -->
      <item>208.4885553</item>    <!--  1097 - 1808 -->
      <item>264.8221315</item>    <!--  1808 - 2981 -->
      <item>327.8974352</item>    <!--  2981 - 5000 -->
      <item>401.1676739</item>    <!--  5000 - 10000 -->
      <item>750.0</item>          <!--  10000 - 20000 -->
      <item>900.0</item>          <!--  20000+ -->
    </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">2000</integer>
    <integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>

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

    <!-- How long it takes for the HW to start illuminating after the illumination is requested.
      It takes 3 frames to enable the Local High-Brightness Mode (LHBM), which at 120 Hz screen
      refresh rate equates to a 25 ms delay. -->
    <integer name="config_udfps_illumination_transition_ms">25</integer>

    <!-- The max vibration strength allowed in audio haptic channels. -->
    <item name="config_hapticChannelMaxVibrationAmplitude" format="float" type="dimen">0.3</item>

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

    <!-- Height of the status bar in portrait. The height should be
         Max((status bar content height + waterfall top size), top cutout size) -->
    <dimen name="status_bar_height_portrait">145px</dimen>
    <dimen name="status_bar_height_landscape">28dp</dimen>

    <!-- Height of area above QQS where battery/time go (equal to status bar) -->
    <dimen name="quick_qs_offset_height">145px</dimen>

    <!-- If face auth sends the user directly to home/last open app, or stays on keyguard by default-->
    <bool name="config_faceAuthDismissesKeyguard">false</bool>

    <!-- the number of the max cached processes in the system. -->
    <integer name="config_customizedMaxCachedProcesses">64</integer>
</resources>
