<?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="IconPreferenceScreen">
        <attr name="icon" />
    </declare-styleable>

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

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

    <!-- For GesturePreference -->
    <declare-styleable name="GesturePreference">
        <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>

</resources>
