<?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">

    <!-- The style for the volume icons in the volume dialog. This style makes the icon scale to
         fit its container since auto wants the icon to be larger. The padding is added to make it
         so the icon does not press along the edges of the dialog. -->
    <style name="VolumeButtons" parent="@android:style/Widget.Material.Button.Borderless">
        <item name="android:background">@drawable/btn_borderless_rect</item>
        <item name="android:scaleType">fitCenter</item>
        <item name="android:padding">22dp</item>
    </style>

    <style name="TextAppearance.SystemBar.Clock"
           parent="@*android:style/TextAppearance.StatusBar.Icon">
        <item name="android:textSize">@dimen/car_body1_size</item>
        <item name="android:textColor">@*android:color/car_headline3</item>
    </style>

    <style name="TextAppearance.SystemBar.Username"
           parent="@android:style/TextAppearance.DeviceDefault">
        <item name="android:textSize">@dimen/car_body3_size</item>
        <item name="android:textColor">@color/system_bar_text_color_with_selection</item>
    </style>

    <style name="TextAppearance.CarStatus" parent="@android:style/TextAppearance.DeviceDefault">
        <item name="android:textSize">@*android:dimen/car_body2_size</item>
        <item name="android:textColor">@color/system_bar_text_color</item>
    </style>

    <style name="SystemBarButton">
        <item name="android:layout_height">@dimen/system_bar_button_size</item>
        <item name="android:layout_width">@dimen/system_bar_button_size</item>
        <item name="android:layout_marginEnd">@dimen/system_bar_button_margin</item>
        <item name="android:padding">@dimen/system_bar_button_padding</item>
        <item name="android:gravity">center</item>
        <item name="android:background">@drawable/system_bar_button_background</item>
        <item name="unselectedAlpha">0.56</item>
    </style>

    <style name="QuickControlEntryPointButton">
        <item name="android:layout_marginTop">@dimen/car_quick_controls_entry_points_button_margin_top</item>
        <item name="android:layout_marginBottom">@dimen/car_quick_controls_entry_points_button_margin_bottom</item>
        <item name="android:layout_marginStart">@dimen/car_quick_controls_entry_points_button_margin_start</item>
        <item name="android:layout_marginEnd">@dimen/car_quick_controls_entry_points_button_margin_end</item>
        <item name="android:background">@drawable/status_icon_background</item>
    </style>

    <style name="HvacButton">
        <item name="android:layout_width">@dimen/hvac_panel_button_dimen</item>
        <item name="android:layout_height">@dimen/hvac_panel_button_dimen</item>
        <item name="android:scaleType">centerInside</item>
        <item name="android:layout_marginTop">@dimen/hvac_button_margin_top</item>
        <item name="android:layout_marginBottom">@dimen/hvac_button_margin_bottom</item>
        <item name="android:layout_marginStart">@dimen/hvac_button_margin_start</item>
        <item name="android:layout_marginEnd">@dimen/hvac_button_margin_end</item>
    </style>

    <style name="HvacTemperatureFont">
        <item name="android:textSize">@dimen/temperature_bar_text_size</item>
        <item name="android:textColor">#000000</item>
    </style>

    <style name="HvacTemperature" parent="HvacTemperatureFont">
        <item name="android:layout_marginLeft">@dimen/hvac_text_left_margin</item>
    </style>

    <style name="HvacTemperatureControlIcon">
        <item name="android:scaleType">center</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">@dimen/temperature_control_arrow_height</item>
        <item name="android:layout_centerHorizontal">true</item>
        <item name="android:background">?android:attr/selectableItemBackgroundBorderless</item>
    </style>

    <style name="HvacFanSpeedBar">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_weight">1</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_marginTop">@dimen/hvac_fan_speed_bar_margin_top</item>
        <item name="android:layout_marginBottom">@dimen/hvac_fan_speed_bar_margin_bottom</item>
        <item name="android:layout_marginEnd">@dimen/hvac_fan_speed_bar_segment_margin</item>
        <item name="android:layout_marginStart">@dimen/hvac_fan_speed_bar_segment_margin</item>
        <item name="android:layout_gravity">center</item>
    </style>

    <style name="HvacFanSpeedText">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_weight">1</item>
        <item name="android:layout_marginTop">@dimen/hvac_fan_speed_text_margin_top</item>
        <item name="android:layout_marginBottom">@dimen/hvac_fan_speed_text_margin_bottom</item>
        <item name="android:textSize">@dimen/hvac_fan_speed_bar_text_size</item>
        <item name="android:fontFamily">sans-serif-medium</item>
        <item name="android:textColor">@color/hvac_icon_color</item>
    </style>

    <!-- Note that this style works only in a horizontal linear layout. -->
    <style name="HvacSpacerView" >
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_weight">1</item>
    </style>

    <style name="HvacButton.FanDirection" parent="HvacButton">
        <item name="android:layout_gravity">center</item>
        <item name="android:scaleType">fitCenter</item>
    </style>

    <style name="QCFooterButtonStyle"
           parent="android:Widget.DeviceDefault.Button.Borderless.Colored">
        <item name="android:minHeight">@dimen/car_quick_controls_footer_button_min_height</item>
        <item name="android:layout_marginVertical">
            @dimen/car_quick_controls_footer_button_vertical_margin
        </item>
        <item name="android:layout_marginStart">
            @dimen/car_quick_controls_footer_button_start_margin
        </item>
        <item name="android:paddingHorizontal">
            @dimen/car_quick_controls_footer_button_horizontal_padding
        </item>
    </style>
</resources>
