<?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.
-->
<resources>
    <declare-styleable name="EmergencyEditTextPreference">
        <!-- Summary text for the text preference. This is used rather than android:summary to
        avoid indexing the text incorrectly during settings search. -->
        <attr name="summary" />
    </declare-styleable>

    <declare-styleable name="EmergencyListPreference">
        <!-- The array to find the content description when an entry from entries is selected.
        If a user clicks on the second item in entries, the second item in this array will be
        used as its content description. -->
        <attr name="entryContentDescriptions" format="reference"/>
    </declare-styleable>

    <declare-styleable name="Theme">
        <attr name="textColorActionBar" format="reference|color" />
    </declare-styleable>

    <declare-styleable name="SliderView">
        <attr name="android:text" format="reference|string" />
        <attr name="android:thumb" format="reference" />
    </declare-styleable>

</resources>
