<?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 name="TextAppearance.AppCompat.Widget.ActionBar.Subtitle"
           parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle" />

    <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="Base.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" />

    <!-- 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 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.Button.Colored" parent="Base.Widget.AppCompat.Button.Colored" />

    <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.ImageButton" parent="Base.Widget.AppCompat.ImageButton" />

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

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

    <!-- Toolbar -->

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

    <style name="Widget.AppCompat.Toolbar.Button.Navigation"
           parent="Base.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.Button" parent="Base.TextAppearance.AppCompat.Widget.Button" />

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

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