<?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 xmlns:android="http://schemas.android.com/apk/res/android">
    <integer name="car_user_switcher_anim_cascade_delay_ms">27</integer>
    <!-- Full screen user switcher column number TODO: move to support library-->
    <integer name="user_fullscreen_switcher_num_col">3</integer>

    <!-- Number of milliseconds user can spend driving with the keyguard up. After that, we switch to Guest. -->
    <!-- If the number is negative, the feature is disabled.
         If it's zero, we switch to guest immediately as we start driving. -->
    <integer name="driving_on_keyguard_timeout_ms">-1</integer>

    <!--Percentage of the screen height, from the bottom, 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 bottom, that a notification panel being peeked
    at will result in remaining closed the panel if released-->
    <integer name="notification_settle_close_percentage">80</integer>

</resources>
