<?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_centerHorizontal">true</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>
