<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2023, 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>
   <!-- Type of a sensor that provides a low-power estimate of the desired display
         brightness, suitable to listen to while the device is asleep (e.g. during
         always-on display) -->
    <string name="doze_brightness_sensor_type" translatable="false">com.google.sensor.binned_brightness</string>

    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
               to brightness values; -1 means keeping the current brightness. -->
    <integer-array name="config_doze_brightness_sensor_to_brightness">
        <item>-1</item> <!-- 0: OFF -->
        <item>1</item> <!-- 1: NIGHT -->
        <item>2</item> <!-- 2: LOW -->
        <item>9</item> <!-- 3: HIGH -->
        <item>9</item> <!-- 4: SUN -->
    </integer-array>

    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
               to an opacity value for a black scrim that is overlaid in AOD1.
               Valid range is from 0 (transparent) to 255 (opaque).
               -1 means keeping the current opacity. -->
    <integer-array name="config_doze_brightness_sensor_to_scrim_opacity">
        <item>-1</item> <!-- 0: OFF -->
        <item>0</item> <!-- 1: NIGHT -->
        <item>0</item> <!-- 2: LOW -->
        <item>0</item> <!-- 3: HIGH -->
        <item>0</item> <!-- 4: SUN -->
    </integer-array>

    <!-- Doze: Name of a sensor per posture state that provides a low-power estimate of the desired
               display brightness, suitable to listen to while the device is asleep (e.g. during
               always-on display) -->
    <string-array name="doze_brightness_sensor_name_posture_mapping" translatable="false">
        <item></item> <!-- UNKNOWN -->
        <item>Binned Brightness 1 (wake-up)</item> <!-- CLOSED -->
        <item>Binned Brightness 0 (wake-up)</item> <!-- HALF_OPENED -->
        <item>Binned Brightness 0 (wake-up)</item> <!-- OPENED -->
    </string-array>

    <!-- Override value to use for proximity sensor. By default, don't register for prox if nothing
         is specified in the prox_sensor_posture_mapping. -->
    <string name="proximity_sensor_type" translatable="false"></string>

    <!-- Sensor type per posture state to use for proximity sensor -->
    <string-array name="proximity_sensor_posture_mapping" translatable="false">
        <item></item> <!-- UNKNOWN, don't register for prox -->
        <item>android.sensor.light</item> <!-- CLOSED, register for ALS before checking prox -->
        <item></item> <!-- HALF_OPENED, don't register for prox -->
        <item></item> <!-- OPENED, don't register for prox -->
      </string-array>

    <!-- If using proximity_sensor_type, specifies a threshold value to distinguish near and
         far break points. A sensor value less than this is considered "near". -->
    <item name="proximity_sensor_threshold" translatable="false" format="float" type="dimen">12</item>

    <!-- If using proximity_sensor_type, specifies a threshold value to distinguish near and
         far break points. A sensor value more than this is considered "far". If not set,
         proximity_sensor_threshold is used. This allows one to implement a latching mechanism for
         noisy sensors. -->
    <item name="proximity_sensor_threshold_latch" translatable="false" format="float" type="dimen">24</item>

    <!-- By default, don't register for a secondary prox sensor if nothing is specified in the
         proximity_sensor_secondary_threshold-->
    <string name="proximity_sensor_secondary_type" translatable="false"></string>

    <item name="proximity_sensor_secondary_threshold" translatable="false" format="float"
      type="dimen">5</item>

    <!-- Sensor type per posture state to use for proximity sensor as a confirmation for
    proximity_sensor_type. -->
    <string-array name="proximity_sensor_secondary_posture_mapping" translatable="false">
        <item></item> <!-- UNKNOWN, don't register for prox-->
        <item>android.sensor.proximity</item> <!-- CLOSED, register for prox -->
        <item></item> <!-- HALF_OPENED, don't register for prox -->
        <item></item> <!-- OPENED, don't register for prox -->
    </string-array>

    <!-- Doze: whether the single tap sensor uses the proximity sensor in the given posture.
               See doze_single_tap_uses_prox for usage. -->
    <integer-array name="doze_single_tap_uses_prox_posture_mapping">
        <item>1</item> <!-- UNKNOWN -->
        <item>1</item> <!-- CLOSED -->
        <item>0</item> <!-- HALF_OPENED -->
        <item>0</item> <!-- OPENED -->
      </integer-array>

    <!-- Configure 13px of extra protection around the front-facing camera for outer display -->
    <string translatable="false" name="config_frontBuiltInDisplayCutoutProtection">
        m 594.5,86 a 54.5,54.5 0 0 0 -109,0 54.5,54.5 0 0 0 109,0 z
    </string>
    <!-- Configure 13px of extra protection around the front-facing camera for inner display-->
    <string translatable="false" name="config_innerBuiltInDisplayCutoutProtection">
        m 2040,80 a 52.5,52.5 0 0 0 -105,0 52.5,52.5 0 0 0 105,0 z
    </string>

    <!-- 1 is the logical id of the front camera -->
    <string translatable="false" name="config_protectedCameraId">1</string>
    <!-- 5 is the physical id of the outer screen front camera    -->
    <string translatable="false" name="config_protectedPhysicalCameraId">5</string>
    <!-- Unique ID of the outer display that contains the camera that needs protection. -->
    <string translatable="false" name="config_protectedScreenUniqueId">local:4619827677550801153</string>

    <!-- 1 is the logical id of the front camera, for the inner screen as well. -->
    <string translatable="false" name="config_protectedInnerCameraId">1</string>
    <!-- 6 is the physical id of the inner  screen front camera    -->
    <string translatable="false" name="config_protectedInnerPhysicalCameraId">6</string>
    <!-- Unique ID of the inner display that contains the camera that needs protection. -->
    <string translatable="false" name="config_protectedInnerScreenUniqueId">local:4619827677550801152</string>

    <!-- The properties of the face auth front camera in pixels -->
    <integer-array name="config_face_auth_props">
        <item>540</item> <!-- sensorLocationX -->
        <item>86</item> <!-- sensorLocationY -->
        <item>54</item> <!--sensorRadius -->
    </integer-array>

    <!-- The properties of the face auth front camera on the inner display in pixels -->
    <integer-array name="config_inner_face_auth_props">
        <item>1988</item> <!-- sensorLocationX -->
        <item>80</item> <!-- sensorLocationY -->
        <item>53</item> <!--sensorRadius -->
    </integer-array>

    <!-- Comma-separated list of packages to exclude from camera protection. In our case,
    ignore the gaze detection package -->
    <string translatable="false" name="config_cameraProtectionExcludedPackages">com.google.android.as</string>

    <bool name="config_enableDisplayCutoutProtection">true</bool>

    <!-- Enable rest to unlock support. -->
    <bool name="config_restToUnlockSupported">true</bool>

    <!--  Whether to use a machine learning model for back gesture falsing. -->
    <bool name="config_useBackGestureML">false</bool>
</resources>
