<?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="BatteryHistoryChart">
        <!-- Base text color, typeface, size, and style. -->
        <attr name="android:textAppearance" />
        <!-- Text color. -->
        <attr name="android:textColor" />
        <!-- Size of the text. Recommended dimension type for text is "sp" for scaled-pixels (example: 15sp). -->
        <attr name="android:textSize" />
        <!-- Typeface (normal, sans, serif, monospace) for the text. -->
        <attr name="android:typeface" />
        <!-- Style (bold, italic, bolditalic) for the text. -->
        <attr name="android:textStyle" />
        <!-- Place a shadow of the specified color behind the text. -->
        <attr name="android:shadowColor" />
        <!-- Horizontal offset of the shadow. -->
        <attr name="android:shadowDx" />
        <!-- Vertical offset of the shadow. -->
        <attr name="android:shadowDy" />
        <!-- Radius of the shadow. -->
        <attr name="android:shadowRadius" />
        <!-- Text color, typeface, size, and style of header. -->
        <attr name="headerAppearance" format="reference" />
        <!-- Primary color of chart. -->
        <attr name="barPrimaryColor" format="color|reference" />
        <!-- Color of predicted future use part of chart. -->
        <attr name="barPredictionColor" format="color|reference" />
        <!-- Minimum height of the chart itself. -->
        <attr name="chartMinHeight" format="dimension|reference" />
    </declare-styleable>

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

    <declare-styleable name="ChartNetworkSeriesView">
        <attr name="strokeColor" format="color" />
        <attr name="fillColor" format="color" />
        <attr name="fillColorSecondary" format="color" />
        <attr name="safeRegion" />
    </declare-styleable>

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

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

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

    <!-- For Search -->
    <declare-styleable name="Preference">
        <attr name="keywords" format="string" />
    </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="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="DividerPreference">
        <attr name="allowDividerAbove" format="boolean" />
        <attr name="allowDividerBelow" 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="TintablePreference">
        <attr name="android:tint" format="color|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>
</resources>
