<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (c) 2018, 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>
    <!-- Full screen user switcher column number -->
    <integer name="user_fullscreen_switcher_num_col">3</integer>

    <!--Percentage of the screen height, from the top, that a notification panel being
    partially closed at will result in it remaining open if released-->
    <integer name="notification_settle_open_percentage">20</integer>
    <!--Percentage of the screen height, from the top, that a notification panel being peeked
    at will result in remaining closed the panel if released-->
    <integer name="notification_settle_close_percentage">80</integer>

    <!-- Timeout values in milliseconds for displaying volume dialog-->
    <integer name="car_volume_dialog_display_normal_timeout">3000</integer>
    <integer name="car_volume_dialog_display_hovering_timeout">16000</integer>
    <integer name="car_volume_dialog_display_expanded_normal_timeout">6000</integer>
    <integer name="car_volume_dialog_display_expanded_hovering_timeout">32000</integer>

    <!-- Toast on Keyguard show duration -->
    <integer name="car_keyguard_toast_show_duration_millisecond">2000</integer>

    <!-- Privacy chip animation transition duration -->
    <integer name="privacy_chip_animation_transition_duration">500</integer>
    <!-- Privacy chip pill to circle animation delay -->
    <integer name="privacy_chip_pill_to_circle_delay">2000</integer>
    <!-- Privacy chip no sensor usage animation delay -->
    <integer name="privacy_chip_no_sensor_usage_delay">15000</integer>
    <!-- HVAC area ID that represents the associated property affecting the entire vehicle
      (e.g. HVAC Power On/Off affects the entire vehicle.) -->
    <integer name="hvac_global_area_id">117</integer>
    <!-- The total number of seat heat levels supported by VHAL. -->
    <integer name="hvac_seat_heat_level_count">4</integer>
    <!-- Immersive privacy indicator animation duration. -->
    <integer name="privacy_indicator_animation_duration">500</integer>
    <!-- The minimum fan speed value.-->
    <integer name="hvac_min_fan_speed">1</integer>
    <!-- The maximum fan speed value. -->
    <integer name="hvac_max_fan_speed">6</integer>

    <!-- The upper bounds for background colors used in Adjustable Background Temperature Control
    View. Note that these integers should be in Celsius and will be divided by 10 so that the first
    decimal can be expressed. The corresponding background color for each level is defined in
    arrays.xml (see hvac_temperature_level_backgrounds). -->
    <integer-array name="hvac_temperature_control_levels">
        <item>9999</item>
    </integer-array>

    <!-- Timeout value for data subscription pop up in ms -->
    <integer name="data_subscription_pop_up_timeout">30000</integer>
</resources>
