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

    <!-- Material theme (day/night vesion) for activities. -->
    <style name="Theme.AppCompat.DayNight" parent="Theme.AppCompat" />

    <!-- Variant of AppCompat.DayNight that has a solid (opaque) action bar
         with an inverse color profile. The dark action bar sharply stands out against
         the light content (when applicable).  -->
    <style name="Theme.AppCompat.DayNight.DarkActionBar" parent="Theme.AppCompat" />

    <!-- Variant of AppCompat.DayNight with no action bar.  -->
    <style name="Theme.AppCompat.DayNight.NoActionBar" parent="Theme.AppCompat.NoActionBar" />

    <!-- Material theme (day/night vesion) for dialog windows and activities,
         which is used by the {@link android.support.v7.app.Dialog} class. This changes
         the window to be floating (not fill the entire screen), and puts a
         frame around its contents. You can set this theme on an activity if
         you would like to make an activity that looks like a Dialog. -->
    <style name="Theme.AppCompat.DayNight.Dialog" parent="Theme.AppCompat.Dialog" />

    <!-- Variant of Theme.AppCompat.DayNight.Dialog that has a nice minimum width for
         a regular dialog. -->
    <style name="Theme.AppCompat.DayNight.Dialog.MinWidth" parent="Theme.AppCompat.Dialog.MinWidth" />

    <!-- Theme for a window that will be displayed either full-screen on
         smaller screens (small, normal) or as a dialog on larger screens
         (large, xlarge). -->
    <style name="Theme.AppCompat.DayNight.DialogWhenLarge" parent="Theme.AppCompat.DialogWhenLarge" />

    <!-- Material user theme for alert dialog windows, which is used by the
         {@link android.support.v7.app.AlertDialog} class. -->
    <style name="Theme.AppCompat.DayNight.Dialog.Alert" parent="Theme.AppCompat.Dialog.Alert" />

</resources>