<?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>
    <!--
       Note: status bar height and navigation bar heights are defined
       in frameworks/base/core package and thus will have no effect if
       set here. See car_product overlay for car specific defaults-->

    <dimen name="status_bar_icon_drawing_size_dark">36dp</dimen>
    <dimen name="status_bar_icon_drawing_size">36dp</dimen>
    <dimen name="car_qs_header_system_icons_area_height">96dp</dimen>
    <!-- The amount by which to scale up the status bar icons. -->
    <item name="status_bar_icon_scale_factor" format="float" type="dimen">1.75</item>

    <dimen name="car_primary_icon_size">36dp</dimen>

    <!-- dimensions for the car user switcher -->
    <dimen name="car_user_switcher_name_text_size">@dimen/car_body1_size</dimen>
    <dimen name="car_user_switcher_vertical_spacing_between_users">124dp</dimen>

    <!--These values represent MIN and MAX for hvac-->
    <item name="hvac_min_value" format="float" type="dimen">0</item>
    <item name="hvac_max_value" format="float" type="dimen">126</item>

    <!-- Largest size an avatar might need to be drawn in the user picker, status bar, or
         quick settings header -->
    <dimen name="max_avatar_size">128dp</dimen>

    <!-- Standard image button size for volume dialog buttons -->
    <dimen name="volume_button_size">84dp</dimen>
    <!-- The maximum width allowed for the volume dialog. For auto, we allow this to span a good
         deal of the screen. This value accounts for the side margins. -->
    <dimen name="volume_dialog_panel_width">1920dp</dimen>
    <dimen name="volume_dialog_side_margin">@dimen/side_margin</dimen>

    <dimen name="volume_dialog_elevation">6dp</dimen>

    <dimen name="volume_dialog_row_margin_end">@dimen/car_keyline_3</dimen>

    <dimen name="volume_dialog_row_padding_end">0dp</dimen>

    <dimen name="line_item_height">128dp</dimen>
    <dimen name="volume_icon_size">96dp</dimen>
    <dimen name="side_margin">148dp</dimen>
    <dimen name="car_keyline_1">24dp</dimen>
    <dimen name="car_keyline_2">96dp</dimen>
    <dimen name="car_keyline_3">128dp</dimen>
</resources>
