<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 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="PercentageBarChart">
        <!-- Background color -->
        <attr name="emptyColor" format="color" />
        <!-- Minimum tick width for each slice in the bar chart. -->
        <attr name="minTickWidth" format="dimension" />
    </declare-styleable>

    <declare-styleable name="ChartView">
        <!-- optimal width of the chart -->
        <attr name="optimalWidth" format="dimension" />
        <!-- how to weight extra space beyond optimal width -->
        <attr name="optimalWidthWeight" format="float" />
    </declare-styleable>

    <declare-styleable name="ChartSweepView">
        <attr name="sweepDrawable" format="reference" />
        <attr name="followAxis">
            <enum name="horizontal" value="0" />
            <enum name="vertical" value="1" />
        </attr>
        <attr name="neighborMargin" format="dimension" />
        <attr name="labelSize" format="dimension" />
        <attr name="labelTemplate" format="reference" />
        <attr name="labelColor" format="color" />
        <attr name="safeRegion" format="dimension" />
    </declare-styleable>

    <declare-styleable name="ChartGridView">
        <attr name="primaryDrawable" format="reference" />
        <attr name="secondaryDrawable" format="reference" />
        <attr name="borderDrawable" format="reference" />
        <attr name="android:textColor" />
        <attr name="android:textAppearance" />
    </declare-styleable>

    <attr name="apnPreferenceStyle" format="reference" />

    <attr name="slicePreferenceStyle" format="reference" />

    <attr name="cardPreferenceStyle" format="reference" />

    <declare-styleable name="FixedLineSummaryPreference">
        <attr name="summaryLineCount" format="integer" />
    </declare-styleable>

    <!-- For Search -->
    <declare-styleable name="Preference">
        <!-- Synonyms for search results -->
        <attr name="keywords" format="string" />
        <!-- Whether or not the preference is searchable, by default it's true. -->
        <attr name="searchable" format="boolean" />
        <!-- Classname of a PreferenceController corresponding to the preference -->
        <attr name="controller" format="string" />
        <!-- Customized subtitle if it's an unavailable slice -->
        <attr name="unavailableSliceSubtitle" format="string" />
        <!-- Whether or not the preference is for work profile, by default it's false. -->
        <attr name="forWork" format="boolean" />
    </declare-styleable>

    <declare-styleable name="PreferenceScreen">
        <!-- Determines if static preferences defined in addStaticPreferences are added before or after the radio buttons -->
        <attr name="staticPreferenceLocation">
            <enum name="prepend" value="0" />
            <enum name="append" value="1" />
        </attr>
    </declare-styleable>

    <!-- For DotsPageIndicator -->
    <declare-styleable name="DotsPageIndicator">
        <attr name="dotDiameter" format="dimension" />
        <attr name="dotGap" format="dimension" />
        <attr name="animationDuration" format="integer" />
        <attr name="pageIndicatorColor" format="color" />
        <attr name="currentPageIndicatorColor" format="color" />
    </declare-styleable>

    <!-- For ConversationMessageView -->
    <declare-styleable name="ConversationMessageView">
        <attr name="incoming" format="boolean" />
        <attr name="messageText" format="reference" />
        <attr name="timestampText" format="reference" />
        <attr name="iconText" format="reference" />
        <attr name="iconTextColor" format="reference|color" />
        <attr name="iconBackgroundColor" format="reference|color" />
    </declare-styleable>

    <attr name="switchBarTheme" format="reference" />
    <attr name="switchBarMarginStart" format="dimension" />
    <attr name="switchBarMarginEnd" format="dimension" />
    <attr name="switchBarBackgroundColor" format="color" />
    <attr name="switchBarBackgroundActivatedColor" format="color" />
    <attr name="switchBarRestrictionIcon" format="reference" />

    <attr name="preferenceBackgroundColor" format="color" />

    <!-- Confirm device credentials screen -->
    <attr name="confirmDeviceCredentialsSideMargin" format="dimension" />
    <attr name="confirmDeviceCredentialsTopMargin" format="dimension" />

    <declare-styleable name="VideoPreference">
        <attr name="animation" format="reference" />
        <attr name="preview" format="reference" />
        <attr name="vectorAnimation" format="reference" />
    </declare-styleable>

    <!-- For AspectRatioFrameLayout -->
    <declare-styleable name="AspectRatioFrameLayout">
        <attr name="aspectRatio" format="float" />
    </declare-styleable>

    <declare-styleable name="ListWithEntrySummaryPreference">
        <!-- Summaries of entry -->
        <attr name="entrySummaries" format="reference" />
    </declare-styleable>

    <!-- For UsageView -->
    <declare-styleable name="UsageView">
        <attr name="android:colorAccent" />
        <attr name="sideLabels" format="reference" />
        <attr name="bottomLabels" format="reference" />
        <attr name="textColor" format="color" />
        <attr name="android:gravity" />
    </declare-styleable>

    <!-- For DonutView -->
    <declare-styleable name="DonutView">
        <attr name="meterBackgroundColor" format="color" />
        <attr name="meterConsumedColor" format="color" />
        <attr name="applyColorAccent" format="boolean" />
        <attr name="showPercentString" format="boolean" />
        <attr name="thickness" format="dimension" />
    </declare-styleable>

    <!-- For Face enroll accessibility toggle -->
    <declare-styleable name="FaceEnrollAccessibilityToggle">
        <attr name="messageText" format="reference" />
    </declare-styleable>

    <!-- For TwoStatesButtonPreference -->
    <declare-styleable name="TwoStateButtonPreference">
        <attr name="textOn" format="reference" />
        <attr name="textOff" format="reference" />
    </declare-styleable>

    <!-- For LabeledSeekBarPreference -->
    <declare-styleable name="LabeledSeekBarPreference">
        <attr name="textStart" format="reference" />
        <attr name="textEnd" format="reference" />
    </declare-styleable>

    <declare-styleable name="TintDrawable">
        <attr name="android:tint" />
        <attr name="android:drawable" />
    </declare-styleable>

    <attr name="twoStateButtonPreferenceStyle" format="reference" />

    <attr name="fingerprint_layout_theme" format="reference" />
    <attr name="face_layout_theme" format="reference" />
    <attr name="ic_menu_moreoverflow" format="reference" />
    <attr name="side_margin" format="reference|dimension" />
    <attr name="wifi_signal_color" format="reference" />
</resources>
