<?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 xmlns:tools="http://schemas.android.com/tools">
    <style name="Preference">
        <item name="android:layout">@layout/preference</item>
    </style>

    <style name="PreferenceFragment">
        <item name="android:paddingLeft">0dp</item>
        <item name="android:paddingRight">0dp</item>
        <item name="android:divider">?android:attr/listDivider</item>
    </style>

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

    <style name="Preference.Category">
        <item name="android:layout">@layout/preference_category</item>
        <!-- The title should not dim if the category is disabled, instead only the preference children should dim. -->
        <item name="android:shouldDisableView">false</item>
        <item name="android:selectable">false</item>
    </style>

    <style name="Preference.CheckBoxPreference">
        <item name="android:widgetLayout">@layout/preference_widget_checkbox</item>
    </style>

    <style name="Preference.SwitchPreferenceCompat">
        <item name="android:widgetLayout">@layout/preference_widget_switch_compat</item>
        <item name="android:switchTextOn">@string/v7_preference_on</item>
        <item name="android:switchTextOff">@string/v7_preference_off</item>
    </style>

    <style name="Preference.SeekBarPreference">
        <item name="android:layout">@layout/preference_widget_seekbar</item>
        <item name="adjustable">true</item>
        <item name="showSeekBarValue">true</item>
    </style>

    <style name="Preference.PreferenceScreen">
    </style>

    <style name="Preference.DialogPreference">
        <item name="android:positiveButtonText">@android:string/ok</item>
        <item name="android:negativeButtonText">@android:string/cancel</item>
    </style>

    <style name="Preference.DialogPreference.EditTextPreference">
        <item name="android:dialogLayout">@layout/preference_dialog_edittext</item>
    </style>

    <style name="PreferenceFragmentList">
        <item name="android:paddingLeft">16dp</item>
        <item name="android:paddingRight">16dp</item>
    </style>

    <style name="Preference.DropDown">
        <item name="android:layout">@layout/preference_dropdown</item>
    </style>

    <style name="Preference.SwitchPreference">
        <item name="android:widgetLayout">@layout/preference_widget_switch</item>
        <item name="android:switchTextOn">@string/v7_preference_on</item>
        <item name="android:switchTextOff">@string/v7_preference_off</item>
    </style>

    <style name="Preference.Material">
        <item name="android:layout">@layout/preference_material</item>
    </style>

    <style name="Preference.Information.Material">
        <item name="android:layout">@layout/preference_information_material</item>
        <item name="android:enabled">false</item>
        <item name="android:shouldDisableView">false</item>
    </style>

    <style name="Preference.Category.Material">
        <item name="android:layout">@layout/preference_category_material</item>
    </style>

    <style name="Preference.CheckBoxPreference.Material">
        <item name="android:layout">@layout/preference_material</item>
    </style>

    <style name="Preference.SwitchPreferenceCompat.Material">
        <item name="android:layout">@layout/preference_material</item>
    </style>

    <style name="Preference.SwitchPreference.Material">
        <item name="android:layout">@layout/preference_material</item>
    </style>

    <style name="Preference.SeekBarPreference.Material">
        <item name="android:layout">@layout/preference_widget_seekbar_material</item>
        <item name="adjustable">true</item>
        <item name="showSeekBarValue">true</item>
    </style>

    <style name="Preference.PreferenceScreen.Material">
        <item name="android:layout">@layout/preference_material</item>
    </style>

    <style name="Preference.DialogPreference.Material">
        <item name="android:layout">@layout/preference_material</item>
    </style>

    <style name="Preference.DialogPreference.EditTextPreference.Material">
        <item name="android:layout">@layout/preference_material</item>
    </style>

    <style name="Preference.DropDown.Material">
        <item name="android:layout">@layout/preference_dropdown_material</item>
    </style>

    <style name="Preference_TextAppearanceMaterialBody2">
        <item name="android:textSize">14sp</item>
        <item tools:ignore="NewApi" name="android:fontFamily">sans-serif</item>
        <item name="android:textColor">?android:attr/textColorPrimary</item>
        <item name="android:textStyle">normal</item>
    </style>

    <style name="Preference_TextAppearanceMaterialSubhead">
        <item name="android:textSize">16sp</item>
        <item tools:ignore="NewApi" name="android:fontFamily">sans-serif</item>
        <item name="android:textColor">?android:attr/textColorPrimary</item>
        <item name="android:textStyle">normal</item>
    </style>

    <style name="PreferenceFragment.Material">
        <item name="android:divider">@drawable/preference_list_divider_material</item>
    </style>

    <style name="PreferenceFragmentList.Material">
        <item name="android:paddingLeft">0dp</item>
        <item name="android:paddingRight">0dp</item>
    </style>
</resources>
