<?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" />

    <attr name="footerPreferenceStyle" 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" />
        <!-- {@code true} when the controller declared represents a slice from {@link android.app.SettingsSliceContract} -->
        <attr name="platform_slice" format="boolean" />
        <!-- customized subtitle if it's an unavailable slice -->
        <attr name="unavailableSliceSubtitle" format="string" />
    </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="WorkPreference">
        <attr name="forWork" format="boolean" />
    </declare-styleable>

    <declare-styleable name="VideoPreference">
        <attr name="animation" format="reference" />
        <attr name="preview" 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>

    <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>
