<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012 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>

    <!-- Styles in here can be extended for customisation in your application. Each utilises
         one of the.styles. If Holo themes are available on the current platform version
         they will be used instead of the compat styles. -->

    <style name="Widget.AppCompat.ActionBar" parent="Base.Widget.AppCompat.ActionBar">
    </style>

    <style name="Widget.AppCompat.Light.ActionBar" parent="Base.Widget.AppCompat.Light.ActionBar">
    </style>

    <style name="Widget.AppCompat.ActionBar.Solid"
           parent="Base.Widget.AppCompat.ActionBar.Solid">
    </style>

    <style name="Widget.AppCompat.Light.ActionBar.Solid"
           parent="Base.Widget.AppCompat.Light.ActionBar.Solid">
    </style>

    <style name="TextAppearance.AppCompat.Widget.ActionBar.Title"
           parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Title">
    </style>

    <style name="TextAppearance.AppCompat.Widget.ActionBar.Subtitle"
           parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle">
    </style>

    <style name="TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
           parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse">
    </style>

    <style name="TextAppearance.AppCompat.Widget.ActionBar.Subtitle.Inverse"
           parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle.Inverse">
    </style>

    <style name="Widget.AppCompat.ProgressBar.Horizontal"
           parent="Base.Widget.AppCompat.ProgressBar.Horizontal">
    </style>

    <style name="Widget.AppCompat.ProgressBar"
           parent="Base.Widget.AppCompat.ProgressBar">
    </style>

    <style name="Widget.AppCompat.ActionButton" parent="Base.Widget.AppCompat.ActionButton" />

    <style name="Widget.AppCompat.ActionButton.CloseMode" parent="Base.Widget.AppCompat.ActionButton.CloseMode" />

    <style name="Widget.AppCompat.ActionButton.Overflow"
           parent="RtlOverlay.Widget.AppCompat.ActionButton.Overflow" />

    <style name="Widget.AppCompat.ActionBar.TabBar"
           parent="Base.Widget.AppCompat.ActionBar.TabBar">
    </style>

    <style name="Widget.AppCompat.Light.ActionBar.TabBar"
           parent="Base.Widget.AppCompat.Light.ActionBar.TabBar">
    </style>

    <style name="Widget.AppCompat.ActionBar.TabView"
           parent="Base.Widget.AppCompat.ActionBar.TabView">
    </style>

    <style name="Widget.AppCompat.Light.ActionBar.TabView"
           parent="Base.Widget.AppCompat.Light.ActionBar.TabView">
    </style>

    <style name="Widget.AppCompat.ActionBar.TabText"
           parent="Base.Widget.AppCompat.ActionBar.TabText">
    </style>

    <style name="Widget.AppCompat.DrawerArrowToggle"
           parent="Base.Widget.AppCompat.DrawerArrowToggle">
        <item name="color">?attr/colorControlNormal</item>
    </style>

    <style name="Widget.AppCompat.Light.ActionBar.TabText"
           parent="Base.Widget.AppCompat.Light.ActionBar.TabText">
    </style>

    <style name="Widget.AppCompat.Light.ActionBar.TabText.Inverse"
           parent="Base.Widget.AppCompat.Light.ActionBar.TabText.Inverse">
    </style>

    <style name="TextAppearance.AppCompat.Widget.ActionBar.Menu"
           parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Menu">
    </style>

    <style name="Widget.AppCompat.ActionMode" parent="Base.Widget.AppCompat.ActionMode">
    </style>

    <style name="TextAppearance.AppCompat.Widget.ActionMode.Title"
           parent="Base.TextAppearance.AppCompat.Widget.ActionMode.Title">
    </style>

    <style name="TextAppearance.AppCompat.Widget.ActionMode.Subtitle"
           parent="Base.TextAppearance.AppCompat.Widget.ActionMode.Subtitle">
    </style>

    <style name="TextAppearance.AppCompat.Widget.DropDownItem"
           parent="Base.TextAppearance.AppCompat.Widget.DropDownItem">
    </style>

    <style name="Widget.AppCompat.Spinner" parent="Base.Widget.AppCompat.Spinner" />

    <style name="Widget.AppCompat.Spinner.Underlined" parent="Base.Widget.AppCompat.Spinner.Underlined" />

    <style name="Widget.AppCompat.Spinner.DropDown" />

    <style name="Widget.AppCompat.Spinner.DropDown.ActionBar" parent="Base.Widget.AppCompat.Spinner.DropDown.ActionBar" />

    <!-- This style has an extra indirection to properly set RTL attributes. See styles_rtl.xml -->
    <style name="Widget.AppCompat.DropDownItem.Spinner" parent="RtlOverlay.Widget.AppCompat.Search.DropDown.Text" />

    <style name="Widget.AppCompat.ListView" parent="Base.Widget.AppCompat.ListView" />
    <style name="Widget.AppCompat.ListView.DropDown" parent="Base.Widget.AppCompat.ListView.DropDown" />

    <style name="TextAppearance.Widget.AppCompat.ExpandedMenu.Item"
           parent="Base.TextAppearance.Widget.AppCompat.ExpandedMenu.Item">
    </style>

    <style name="Widget.AppCompat.ListPopupWindow" parent="Base.Widget.AppCompat.ListPopupWindow">
    </style>

    <style name="Widget.AppCompat.PopupMenu.Overflow"
           parent="Base.Widget.AppCompat.PopupMenu.Overflow">
    </style>

    <style name="Widget.AppCompat.Light.PopupMenu.Overflow"
           parent="Base.Widget.AppCompat.Light.PopupMenu.Overflow">
    </style>

    <style name="Widget.AppCompat.PopupMenu" parent="Base.Widget.AppCompat.PopupMenu">
    </style>

    <style name="Widget.AppCompat.Light.PopupMenu"
           parent="Base.Widget.AppCompat.Light.PopupMenu">
    </style>

    <style name="Widget.AppCompat.ListView.Menu" parent="Base.Widget.AppCompat.ListView.Menu">
    </style>

    <style name="Widget.AppCompat.PopupWindow" parent="Base.Widget.AppCompat.PopupWindow">
    </style>

    <style name="TextAppearance.AppCompat.Widget.PopupMenu.Large"
           parent="Base.TextAppearance.AppCompat.Widget.PopupMenu.Large">
    </style>

    <style name="TextAppearance.AppCompat.Widget.PopupMenu.Small"
           parent="Base.TextAppearance.AppCompat.Widget.PopupMenu.Small">
    </style>

    <style name="TextAppearance.AppCompat.Light.Widget.PopupMenu.Large"
           parent="Base.TextAppearance.AppCompat.Light.Widget.PopupMenu.Large">
    </style>

    <style name="TextAppearance.AppCompat.Light.Widget.PopupMenu.Small"
           parent="Base.TextAppearance.AppCompat.Light.Widget.PopupMenu.Small">
    </style>

    <style name="TextAppearance.AppCompat.SearchResult.Title"
           parent="Base.TextAppearance.AppCompat.SearchResult.Title">
    </style>

    <style name="TextAppearance.AppCompat.SearchResult.Subtitle"
           parent="Base.TextAppearance.AppCompat.SearchResult.Subtitle">
    </style>

    <style name="Widget.AppCompat.AutoCompleteTextView"
           parent="Base.Widget.AppCompat.AutoCompleteTextView">
    </style>

    <style name="Widget.AppCompat.ActivityChooserView"
           parent="Base.Widget.AppCompat.ActivityChooserView">
    </style>

    <style name="Widget.AppCompat.SearchView" parent="Base.Widget.AppCompat.SearchView" />
    <style name="Widget.AppCompat.SearchView.ActionBar" parent="Base.Widget.AppCompat.SearchView.ActionBar" />

    <style name="Widget.AppCompat.EditText"
           parent="Base.Widget.AppCompat.EditText">
    </style>

    <style name="Widget.AppCompat.CompoundButton.Switch" parent="Base.Widget.AppCompat.CompoundButton.Switch" />

    <style name="Widget.AppCompat.CompoundButton.CheckBox" parent="Base.Widget.AppCompat.CompoundButton.CheckBox" />

    <style name="Widget.AppCompat.CompoundButton.RadioButton" parent="Base.Widget.AppCompat.CompoundButton.RadioButton" />

    <style name="Widget.AppCompat.RatingBar" parent="Base.Widget.AppCompat.RatingBar" />

    <style name="Widget.AppCompat.Button" parent="Base.Widget.AppCompat.Button" />

    <style name="Widget.AppCompat.Button.Small" parent="Base.Widget.AppCompat.Button.Small" />

    <style name="Widget.AppCompat.Button.Borderless" parent="Base.Widget.AppCompat.Button.Borderless" />

    <style name="Widget.AppCompat.Button.Borderless.Colored" parent="Base.Widget.AppCompat.Button.Borderless.Colored" />

    <style name="Widget.AppCompat.Button.ButtonBar.AlertDialog" parent="Base.Widget.AppCompat.Button.ButtonBar.AlertDialog" />

    <style name="Widget.AppCompat.ButtonBar" parent="Base.Widget.AppCompat.ButtonBar" />

    <style name="Widget.AppCompat.ButtonBar.AlertDialog" parent="Base.Widget.AppCompat.ButtonBar.AlertDialog" />

    <style name="Widget.AppCompat.TextView.SpinnerItem" parent="Base.Widget.AppCompat.TextView.SpinnerItem" />

    <style name="AlertDialog.AppCompat" parent="Base.AlertDialog.AppCompat" />

    <style name="AlertDialog.AppCompat.Light" parent="Base.AlertDialog.AppCompat.Light" />

    <!-- Toolbar -->

    <style name="Widget.AppCompat.Toolbar" parent="Base.Widget.AppCompat.Toolbar" />

    <style name="Widget.AppCompat.Toolbar.Button.Navigation"
           parent="RtlOverlay.Widget.AppCompat.Toolbar.Button.Navigation" />

    <style name="TextAppearance.Widget.AppCompat.Toolbar.Title"
           parent="Base.TextAppearance.Widget.AppCompat.Toolbar.Title">
    </style>

    <style name="TextAppearance.Widget.AppCompat.Toolbar.Subtitle"
           parent="Base.TextAppearance.Widget.AppCompat.Toolbar.Subtitle">
    </style>


    <!-- Animation styles -->
    <eat-comment />
    <style name="Animation.AppCompat.Dialog" parent="Base.Animation.AppCompat.Dialog" />
    <style name="Animation.AppCompat.DropDownUp" parent="Base.Animation.AppCompat.DropDownUp" />


    <!-- Text styles -->
    <eat-comment />

    <style name="TextAppearance.AppCompat" parent="Base.TextAppearance.AppCompat" />

    <style name="TextAppearance.AppCompat.Display4" parent="Base.TextAppearance.AppCompat.Display4" />

    <style name="TextAppearance.AppCompat.Display3" parent="Base.TextAppearance.AppCompat.Display3" />

    <style name="TextAppearance.AppCompat.Display2" parent="Base.TextAppearance.AppCompat.Display2" />

    <style name="TextAppearance.AppCompat.Display1" parent="Base.TextAppearance.AppCompat.Display1" />

    <style name="TextAppearance.AppCompat.Headline" parent="Base.TextAppearance.AppCompat.Headline" />

    <style name="TextAppearance.AppCompat.Title" parent="Base.TextAppearance.AppCompat.Title" />

    <style name="TextAppearance.AppCompat.Title.Inverse" parent="Base.TextAppearance.AppCompat.Title.Inverse" />

    <style name="TextAppearance.AppCompat.Subhead" parent="Base.TextAppearance.AppCompat.Subhead" />

    <style name="TextAppearance.AppCompat.Subhead.Inverse" parent="Base.TextAppearance.AppCompat.Subhead.Inverse" />

    <style name="TextAppearance.AppCompat.Body2" parent="Base.TextAppearance.AppCompat.Body2" />

    <style name="TextAppearance.AppCompat.Body1" parent="Base.TextAppearance.AppCompat.Body1" />

    <style name="TextAppearance.AppCompat.Caption" parent="Base.TextAppearance.AppCompat.Caption" />

    <style name="TextAppearance.AppCompat.Menu" parent="Base.TextAppearance.AppCompat.Menu" />

    <style name="TextAppearance.AppCompat.Inverse" parent="Base.TextAppearance.AppCompat.Inverse" />

    <style name="TextAppearance.AppCompat.Large" parent="Base.TextAppearance.AppCompat.Large" />

    <style name="TextAppearance.AppCompat.Large.Inverse" parent="Base.TextAppearance.AppCompat.Large.Inverse" />

    <style name="TextAppearance.AppCompat.Medium" parent="Base.TextAppearance.AppCompat.Medium" />

    <style name="TextAppearance.AppCompat.Medium.Inverse" parent="Base.TextAppearance.AppCompat.Medium.Inverse" />

    <style name="TextAppearance.AppCompat.Small" parent="Base.TextAppearance.AppCompat.Small" />

    <style name="TextAppearance.AppCompat.Small.Inverse" parent="Base.TextAppearance.AppCompat.Small.Inverse" />

    <style name="TextAppearance.AppCompat.Button" parent="Base.TextAppearance.AppCompat.Button" />

    <style name="TextAppearance.AppCompat.Widget.Switch" parent="Base.TextAppearance.AppCompat.Widget.Switch" />

    <style name="TextAppearance.AppCompat.Widget.TextView.SpinnerItem" parent="Base.TextAppearance.AppCompat.Widget.TextView.SpinnerItem" />

    <!--
         The following themes are deprecated.
    -->
    <style name="Widget.AppCompat.Light.ActionBar.Solid.Inverse" />
    <style name="Widget.AppCompat.Light.ActionBar.TabBar.Inverse" />
    <style name="Widget.AppCompat.Light.ActionBar.TabView.Inverse" />
    <style name="TextAppearance.AppCompat.Light.SearchResult.Title" parent="TextAppearance.AppCompat.SearchResult.Title" />
    <style name="TextAppearance.AppCompat.Light.SearchResult.Subtitle" parent="TextAppearance.AppCompat.SearchResult.Subtitle" />
    <style name="Widget.AppCompat.Light.ActionMode.Inverse" parent="Widget.AppCompat.ActionMode" />
    <style name="TextAppearance.AppCompat.Widget.ActionMode.Title.Inverse" parent="TextAppearance.AppCompat.Widget.ActionMode.Title" />
    <style name="TextAppearance.AppCompat.Widget.ActionMode.Subtitle.Inverse" parent="TextAppearance.AppCompat.Widget.ActionMode.Subtitle" />
    <style name="Widget.AppCompat.Light.DropDownItem.Spinner" parent="Widget.AppCompat.DropDownItem.Spinner" />
    <style name="Widget.AppCompat.Light.SearchView" parent="Widget.AppCompat.SearchView" />
    <style name="Widget.AppCompat.Light.ActionButton" parent="Widget.AppCompat.ActionButton" />
    <style name="Widget.AppCompat.Light.ActionButton.Overflow" parent="Widget.AppCompat.ActionButton.Overflow" />
    <style name="Widget.AppCompat.Light.ActionButton.CloseMode" parent="Widget.AppCompat.ActionButton.CloseMode" />
    <style name="Widget.AppCompat.Light.Spinner.DropDown.ActionBar" parent="Widget.AppCompat.Spinner.DropDown.ActionBar" />
    <style name="Widget.AppCompat.Light.ListView.DropDown" parent="Widget.AppCompat.ListView.DropDown" />
    <style name="Widget.AppCompat.Light.ListPopupWindow" parent="Widget.AppCompat.ListPopupWindow" />
    <style name="Widget.AppCompat.Light.AutoCompleteTextView" parent="Widget.AppCompat.AutoCompleteTextView" />
    <style name="Widget.AppCompat.Light.ActivityChooserView" parent="Widget.AppCompat.ActivityChooserView" />

    <!-- These styles didn't exist on v7. Since we only use the media template in later versions
         (ICS+), just define it here and use the correct references in values/v14 -->
    <style name="TextAppearance.StatusBar.EventContent" parent=""/>
    <style name="TextAppearance.StatusBar.EventContent.Title" parent=""/>
    <style name="TextAppearance.StatusBar.EventContent.Line2" parent=""/>
    <style name="TextAppearance.StatusBar.EventContent.Info" parent=""/>
    <style name="TextAppearance.StatusBar.EventContent.Time" parent=""/>
</resources>
