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

<!-- This file only contains custom attribute and style definition for preferences -->
<!-- Things unrelated to preference framework UI customization should go to other styles files -->
<resources>

    <style name="SettingsPreferenceTheme" parent="@style/PreferenceTheme.SettingsLib">
        <item name="apnPreferenceStyle">@style/ApnPreference</item>
        <item name="cardPreferenceStyle">@style/CardPreference</item>
        <item name="slicePreferenceStyle">@style/SlicePreference</item>
        <item name="seekBarPreferenceStyle">@style/SettingsSeekBarPreference</item>
        <item name="twoStateButtonPreferenceStyle">@style/TwoStateButtonPreference</item>
        <item name="preferenceFragmentCompatStyle">@style/SettingsPreferenceFragmentStyle</item>
    </style>

    <style name="PreferenceTheme.SetupWizard" parent="@style/SettingsPreferenceTheme">
        <item name="preferenceFragmentCompatStyle">@style/SetupWizardPreferenceFragmentStyle</item>
    </style>

    <style name="ApnPreference" parent="@style/Preference.Material">
        <item name="android:layout">@layout/apn_preference_layout</item>
    </style>

    <style name="CardPreference" parent="@style/Preference.Material">
        <item name="android:layout">@layout/card_preference_layout</item>
    </style>

    <style name="SlicePreference" parent="@style/Preference.Material">
        <item name="android:layout">@layout/slice_preference_layout</item>
    </style>

    <style name="SettingsSeekBarPreference" parent="@style/Preference.Material">
        <item name="android:layout">@layout/preference_widget_seekbar_settings</item>
    </style>

    <style name="SyncSwitchPreference" parent="@style/SettingsSwitchPreference.SettingsLib">
        <item name="android:widgetLayout">@layout/preference_widget_sync_toggle</item>
    </style>

    <style name="TwoStateButtonPreference" parent="@style/Preference.Material">
        <item name="android:layout">@layout/two_state_button</item>
    </style>

    <style name="SettingsMultiSelectListPreference" parent="@style/Preference.Material">
        <item name="android:positiveButtonText">@android:string/ok</item>
        <item name="android:negativeButtonText">@android:string/cancel</item>
        <item name="iconSpaceReserved">@bool/settingslib_config_icon_space_reserved</item>
    </style>

    <style name="SettingsPreferenceFragmentStyle" parent="@style/PreferenceFragment.Material">
        <item name="android:divider">@*android:drawable/list_divider_material</item>
    </style>

    <style name="SetupWizardPreferenceFragmentStyle" parent="PreferenceFragment.Material">
        <item name="android:layout">@layout/setup_preference</item>
    </style>

</resources>