<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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>
    <!-- =============== -->
    <!-- TextAppearances -->
    <!-- =============== -->
    <eat-comment />

    <!-- Base namespace for all TextAppearances. -->
    <style name="TextAppearance.Car" parent="TextAppearance.AppCompat" />

    <!-- The styling for title text. The color of this text changes based on day/night mode. -->
    <style name="TextAppearance.Car.Title">
        <item name="android:fontFamily">sans-serif-medium</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_title_size</item>
        <item name="android:textColor">@color/car_title</item>
    </style>

    <!-- Title text that is permanently a dark color. -->
    <style name="TextAppearance.Car.Title.Dark">
        <item name="android:textColor">@color/car_title_dark</item>
    </style>

    <!-- Title text that is permanently a light color. -->
    <style name="TextAppearance.Car.Title.Light">
        <item name="android:textColor">@color/car_title_light</item>
    </style>

    <!-- The styling for title2 text. The color of this text changes based on day/night mode. -->
    <style name="TextAppearance.Car.Title2">
        <item name="android:fontFamily">sans-serif-medium</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_title2_size</item>
        <item name="android:textColor">@color/car_title2</item>
    </style>

    <!-- Title2 text that is permanently a dark color. -->
    <style name="TextAppearance.Car.Title2.Dark">
        <item name="android:textColor">@color/car_title2_dark</item>
    </style>

    <!-- Title2 text that is permanently a light color. -->
    <style name="TextAppearance.Car.Title2.Light">
        <item name="android:textColor">@color/car_title2_light</item>
    </style>

    <!-- The styling for subheader text. This text uses color accent. -->
    <style name="TextAppearance.Car.Subheader" parent="TextAppearance.Car.Title2" >
        <item name="android:textColor">@color/car_accent</item>
    </style>

    <!-- Subheader text that is permanently a dark color. -->
    <style name="TextAppearance.Car.Subheader.Dark" parent="TextAppearance.Car.Subheader" >
        <item name="android:textColor">@color/car_accent_dark</item>
    </style>

    <!-- Subheader text that is permanently a light color. -->
    <style name="TextAppearance.Car.Subheader.Light" parent="TextAppearance.Car.Subheader" >
        <item name="android:textColor">@color/car_accent_light</item>
    </style>

    <!-- The styling for the main headline text. The color of this text changes based on the
         day/night mode. -->
    <style name="TextAppearance.Car.Headline1">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_headline1_size</item>
        <item name="android:textColor">@color/car_headline1</item>
    </style>

    <!-- Title2 text that is permanently a light color. -->
    <style name="TextAppearance.Car.Headline1.Light">
        <item name="android:textColor">@color/car_headline1_light</item>
    </style>

    <!-- Title2 text that is permanently a dark color. -->
    <style name="TextAppearance.Car.Headline1.Dark">
        <item name="android:textColor">@color/car_headline1_dark</item>
    </style>

    <!-- The styling for a sub-headline text. The color of this text changes based on the
         day/night mode. -->
    <style name="TextAppearance.Car.Headline2">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_headline2_size</item>
        <item name="android:textColor">@color/car_headline2</item>
    </style>

    <!-- The styling for a smaller alternate headline text. The color of this text changes based on
         the day/night mode. -->
    <style name="TextAppearance.Car.Headline3">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_headline3_size</item>
        <item name="android:textColor">@color/car_headline3</item>
    </style>

    <!-- The styling for the smallest headline text. The color of this text changes based on the
         day/night mode. -->
    <style name="TextAppearance.Car.Headline4">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_headline4_size</item>
        <item name="android:textColor">@color/car_headline4</item>
    </style>

    <!-- The styling for label text. The color of this text changes based on the day/night mode. -->
    <style name="TextAppearance.Car.Label1">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_label1_size</item>
        <item name="android:textColor">@color/car_label1</item>
    </style>

    <!-- The styling for body text. The color of this text changes based on the day/night mode. -->
    <style name="TextAppearance.Car.Body1">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_body1_size</item>
        <item name="android:textColor">@color/car_body1</item>
    </style>

    <!-- Title2 text that is permanently a light color. -->
    <style name="TextAppearance.Car.Body1.Light">
        <item name="android:textColor">@color/car_body1_light</item>
    </style>

    <!-- Title2 text that is permanently a dark color. -->
    <style name="TextAppearance.Car.Body1.Dark">
        <item name="android:textColor">@color/car_body2_dark</item>
    </style>

    <!-- An alternate styling for body text that is both a different color and size than
         CarBody1. -->
    <style name="TextAppearance.Car.Body2">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_body2_size</item>
        <item name="android:textColor">@color/car_body2</item>
    </style>

    <!-- Body2 text that is permanently a light color. -->
    <style name="TextAppearance.Car.Body2.Light">
        <item name="android:textColor">@color/car_body2_light</item>
    </style>

    <!-- Body2 text that is permanently a dark color. -->
    <style name="TextAppearance.Car.Body2.Dark">
        <item name="android:textColor">@color/car_body2_dark</item>
    </style>

    <!-- A smaller styling for body text. The color of this text changes based on the day/night
         mode. -->
    <style name="TextAppearance.Car.Body3">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_body3_size</item>
        <item name="android:textColor">@color/car_body3</item>
    </style>

    <!-- The smallest styling for body text. The color of this text changes based on the day/night
         mode. -->
    <style name="TextAppearance.Car.Body4">
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">@dimen/car_body4_size</item>
        <item name="android:textColor">@color/car_body4</item>
    </style>

    <!-- Styles for TextInputLayout hints. -->
    <style name="TextAppearance.Car.Hint" parent="TextAppearance.Car.Body2" />

    <!-- ======= -->
    <!-- Widgets -->
    <!-- ======= -->
    <eat-comment />

    <!-- The styling for the action bar. -->
    <style name="Widget.Car.Toolbar" parent="Widget.AppCompat.Toolbar">
        <item name="titleTextAppearance">@style/TextAppearance.Car.Title.Light</item>
        <item name="contentInsetStart">@dimen/car_keyline_1</item>
        <item name="contentInsetEnd">@dimen/car_keyline_1</item>
    </style>

    <!-- The style for the menu bar (i.e. hamburger) and back arrow in the navigation drawer. -->
    <style name="Widget.Car.DrawerArrowToggle" parent="Widget.AppCompat.DrawerArrowToggle">
        <item name="color">@color/car_title2</item>
        <item name="spinBars">true</item>
        <item name="barLength">@dimen/car_menu_bar_length</item>
        <item name="thickness">@dimen/car_arrow_thickness</item>
        <item name="gapBetweenBars">@dimen/car_menu_bar_spacing</item>
        <item name="arrowShaftLength">@dimen/car_arrow_shaft_length</item>
        <item name="arrowHeadLength">@dimen/car_arrow_head_length</item>
        <item name="drawableSize">@dimen/car_arrow_size</item>
    </style>

    <!-- The styles for the regular and borderless buttons. -->
    <style name="Widget.Car.Button" parent="Widget.AppCompat.Button">
        <item name="android:fontFamily">sans-serif-medium</item>
        <item name="android:layout_height">@dimen/car_button_height</item>
        <item name="android:minWidth">@dimen/car_button_min_width</item>
        <item name="android:paddingStart">@dimen/car_button_horizontal_padding</item>
        <item name="android:paddingEnd">@dimen/car_button_horizontal_padding</item>
        <item name="android:textSize">@dimen/car_action1_size</item>
        <item name="android:background">@drawable/car_button_background</item>
        <item name="android:textColor">@drawable/car_button_text_color</item>
    </style>

    <style name="Widget.Car.Button.Borderless.Colored" parent="Widget.AppCompat.Button.Borderless.Colored">
        <item name="android:fontFamily">sans-serif-medium</item>
        <item name="android:layout_height">@dimen/car_button_height</item>
        <item name="android:minWidth">@dimen/car_button_min_width</item>
        <item name="android:paddingStart">@dimen/car_borderless_button_horizontal_padding</item>
        <item name="android:paddingEnd">@dimen/car_borderless_button_horizontal_padding</item>
        <item name="android:textSize">@dimen/car_action1_size</item>
        <item name="android:textColor">@drawable/car_borderless_button_text_color</item>
    </style>

    <style name="Widget.Car.Button.Borderless.Colored.Light">
        <item name="android:textColor">@drawable/car_borderless_button_text_color</item>
    </style>

    <style name="Widget.Car.Button.Borderless.Colored.Dark">
        <item name="android:textColor">@drawable/car_borderless_button_text_color</item>
    </style>

    <!-- Style for the progress bars. -->
    <style name="Widget.Car.ProgressBar.Horizontal" parent="Widget.AppCompat.ProgressBar.Horizontal">
        <item name="android:minHeight">@dimen/car_progress_bar_height</item>
        <item name="android:maxHeight">@dimen/car_progress_bar_height</item>
    </style>

    <style name="Widget.Car.EditText" parent="Widget.AppCompat.EditText">
        <item name="android:textColor">?attr/editTextColor</item>
        <item name="android:textAppearance">@style/TextAppearance.Car.Body1</item>
    </style>

    <!-- Styling for the seek bars. -->
    <style name="Widget.Car.SeekBar" parent="Widget.AppCompat.SeekBar">
        <item name="android:progressDrawable">@drawable/car_seekbar_track</item>
        <item name="android:thumb">@drawable/car_seekbar_thumb</item>
    </style>

    <!-- Styling for seek bars that is fixed to a dark color for thumb and progress. -->
    <style name="Widget.Car.SeekBar.Dark">
        <item name="android:progressDrawable">@drawable/car_seekbar_track_light</item>
        <item name="android:thumb">@drawable/car_seekbar_thumb_dark</item>
    </style>

    <!-- Styling for seek bars that is fixed to a light color for thumb and progress. -->
    <style name="Widget.Car.SeekBar.Light">
        <item name="android:progressDrawable">@drawable/car_seekbar_track_dark</item>
        <item name="android:thumb">@drawable/car_seekbar_thumb_light</item>
    </style>

    <style name="CarListVerticalDivider">
        <item name="android:layout_width">@dimen/car_vertical_line_divider_width</item>
        <item name="android:layout_height">@dimen/car_vertical_line_divider_height</item>
        <item name="android:layout_marginStart">@dimen/car_padding_4</item>
        <item name="android:background">@color/car_list_divider</item>
    </style>

    <!-- ============= -->
    <!-- List Themes -->
    <!-- ============= -->
    <eat-comment />

    <!-- The default styling for a PagedListView. -->
    <style name="Widget.Car.List" parent="android:Widget">
        <item name="dayNightStyle">auto</item>
        <item name="listDividerColor">@color/car_list_divider</item>
    </style>

    <!-- A styling for the PagedListView that has inverted colors for day/night. -->
    <style name="Widget.Car.List.Inverse">
        <item name="dayNightStyle">auto_inverse</item>
        <item name="listDividerColor">@color/car_list_divider_inverse</item>
    </style>

    <!-- A styling for the PagedListView that is fixed to a light color. -->
    <style name="Widget.Car.Light.List" parent="Widget.Car.List">
        <item name="dayNightStyle">force_night</item>
    </style>

    <!-- A styling for the PagedListView that is fixed to a light color and has dividers that are
         also fixed to a light color. -->
    <style name="Widget.Car.Light.List.LightDivider">
        <item name="listDividerColor">@color/car_list_divider_light</item>
    </style>

    <!-- A styling for the PagedListView that is fixed to a dark color. -->
    <style name="Widget.Car.Dark.List" parent="Widget.Car.List">
        <item name="dayNightStyle">force_day</item>
    </style>

    <!-- A styling for the PagedListView that is fixed to a dark color and has dividers that are
         also fixed to a dark color. -->
    <style name="Widget.Car.Dark.List.LightDivider">
        <item name="listDividerColor">@color/car_list_divider_light</item>
    </style>

    <!-- ============= -->
    <!-- ListItem Themes -->
    <!-- ============= -->
    <eat-comment />

    <!-- A styling for ListItems that has dark text on a light-colored background. This style
         will automatically switch to darker colors during night mode. -->
    <style name="Widget.Car.ListItem" parent="android:Widget">
        <item name="listItemBackgroundColor">@color/car_card</item>
        <item name="listItemTitleTextAppearance">@style/TextAppearance.Car.Body1</item>
        <item name="listItemBodyTextAppearance">@style/TextAppearance.Car.Body2</item>
    </style>

    <!-- A styling for ListItems that has light text on a dark-colored background. This style
         will remain dark in night mode. -->
    <style name="Widget.Car.ListItem.Dark">
        <item name="listItemBackgroundColor">@color/car_card_dark</item>
        <item name="listItemTitleTextAppearance">@style/TextAppearance.Car.Body1.Light</item>
        <item name="listItemBodyTextAppearance">@style/TextAppearance.Car.Body2.Light</item>
    </style>

    <!-- ============= -->
    <!-- Dialog Themes -->
    <!-- ============= -->
    <eat-comment />

    <!-- Base namespace for dialog styles. -->
    <style name="Widget.Car.Dialog" parent="android:Widget" />

    <!-- The title text for a dialog. -->
    <style name="Widget.Car.Dialog.Title">
        <item name="android:maxLines">1</item>
        <item name="android:textAppearance">@style/TextAppearance.Car.Title2</item>
        <item name="android:ellipsize">end</item>
        <item name="android:textAlignment">viewStart</item>
    </style>

    <!-- Title text for a dialog that is fixed in a light color. -->
    <style name="Widget.Car.Dialog.Title.Light">
        <item name="android:textAppearance">@style/TextAppearance.Car.Title2.Light</item>
    </style>

    <!-- Title text for a dialog that is fixed in a dark color. -->
    <style name="Widget.Car.Dialog.Title.Dark">
        <item name="android:textAppearance">@style/TextAppearance.Car.Title2.Dark</item>
    </style>

    <!-- The body text for a dialog. -->
    <style name="Widget.Car.Dialog.Body">
        <item name="android:textAppearance">@style/TextAppearance.Car.Body2</item>
    </style>

    <!-- Body text for a dialog that is fixed in a light color. -->
    <style name="Widget.Car.Dialog.Body.Light">
        <item name="android:textAppearance">@style/TextAppearance.Car.Body2.Light</item>
    </style>

    <!-- Body text for a dialog that is fixed in a dark color. -->
    <style name="Widget.Car.Dialog.Body.Dark">
        <item name="android:textAppearance">@style/TextAppearance.Car.Body2.Dark</item>
    </style>

    <!-- ================ -->
    <!-- ActionBar Themes -->
    <!-- ================ -->
    <eat-comment />

    <!-- Styles for action buttons -->
    <style name="Widget.Car.Button.ActionBar">
        <item name="android:scaleType">fitCenter</item>
        <item name="android:padding">@dimen/car_action_button_icon_inset</item>
        <item name="android:background">@drawable/car_action_button_background</item>
        <item name="android:tint">@color/car_tint</item>
    </style>

    <!-- ================= -->
    <!-- Preference Themes -->
    <!-- ================= -->
    <eat-comment />

    <style name="CarPreference">
        <item name="android:layout">@layout/preference_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="singleLineTitle">true</item>
        <item name="iconSpaceReserved">false</item>
    </style>

    <style name="CarPreference.Information">
        <item name="android:layout">@layout/preference_material_car</item>
        <item name="android:enabled">false</item>
        <item name="android:shouldDisableView">false</item>
    </style>

    <style name="CarPreference.Category">
        <item name="android:layout">@layout/preference_category_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="iconSpaceReserved">false</item>
    </style>

    <style name="CarPreference.CheckBoxPreference">
        <item name="android:layout">@layout/preference_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="iconSpaceReserved">false</item>
        <item name="android:widgetLayout">@layout/preference_widget_checkbox</item>
    </style>

    <style name="CarPreference.SwitchPreferenceCompat">
        <item name="android:layout">@layout/preference_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="iconSpaceReserved">false</item>
        <item name="android:widgetLayout">@layout/preference_widget_switch_compat</item>
    </style>

    <style name="CarPreference.SwitchPreference">
        <item name="android:layout">@layout/preference_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="singleLineTitle">true</item>
        <item name="iconSpaceReserved">false</item>
        <item name="android:widgetLayout">@layout/preference_widget_switch</item>
    </style>

    <style name="CarPreference.SeekBarPreference">
        <item name="android:layout">@layout/preference_widget_seekbar_material_car</item>
        <item name="adjustable">true</item>
        <item name="showSeekBarValue">true</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="iconSpaceReserved">false</item>
        <item name="android:widgetLayout">@layout/preference_widget_seekbar</item>
    </style>

    <style name="CarPreference.PreferenceScreen">
        <item name="android:layout">@layout/preference_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="iconSpaceReserved">false</item>
    </style>

    <style name="CarPreference.DialogPreference">
        <item name="android:layout">@layout/preference_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="iconSpaceReserved">false</item>
        <item name="android:positiveButtonText">@android:string/ok</item>
        <item name="android:negativeButtonText">@android:string/cancel</item>
    </style>

    <style name="CarPreference.DialogPreference.EditTextPreference">
        <item name="android:layout">@layout/preference_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="singleLineTitle">true</item>
        <item name="iconSpaceReserved">false</item>
        <item name="android:dialogLayout">@layout/preference_dialog_edittext</item>
    </style>

    <style name="CarPreference.DropDown">
        <item name="android:layout">@layout/preference_dropdown_material_car</item>
        <item name="allowDividerAbove">true</item>
        <item name="allowDividerBelow">true</item>
        <item name="iconSpaceReserved">false</item>
    </style>

    <style name="CarPreferenceFragment">
        <item name="android:divider">@drawable/car_list_divider</item>
        <item name="allowDividerAfterLastItem">false</item>
    </style>

    <style name="CarPreferenceFragmentList">
        <item name="android:paddingLeft">0dp</item>
        <item name="android:paddingRight">0dp</item>
    </style>
</resources>
