<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 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="KeyButtonView">
        <!-- key code to send when pressed; if absent or 0, no key is sent -->
        <attr name="keyCode" format="integer" />
        <!-- does this button generate longpress / repeat events? -->
        <attr name="keyRepeat" format="boolean" />
        <!-- Should this button play sound effects, default true -->
        <attr name="playSound" format="boolean" />
        <attr name="android:contentDescription" />
    </declare-styleable>
    <declare-styleable name="ToggleSliderView">
        <attr name="text" format="string" />
    </declare-styleable>
    <declare-styleable name="NotificationLinearLayout">
        <attr name="insetLeft" format="dimension" />
    </declare-styleable>
    <declare-styleable name="RecentsPanelView">
        <attr name="recentItemLayout" format="reference" />
        <!-- Style for the "Clear all" button. -->
        <attr name="clearAllStyle" format="reference" />
        <attr name="clearAllBackgroundColor" format="reference" />
    </declare-styleable>
    <declare-styleable name="DeadZone">
        <attr name="minSize" format="dimension" />
        <attr name="maxSize" format="dimension" />
        <attr name="holdTime" format="integer" />
        <attr name="decayTime" format="integer" />
        <attr name="orientation" />
    </declare-styleable>
    <attr name="frameColor" format="color" />
    <declare-styleable name="BatteryMeterView">
        <attr name="frameColor" />
    </declare-styleable>
    <declare-styleable name="Clock">
        <attr name="amPmStyle" format="enum">
            <enum name="normal" value="0" />
            <enum name="small" value="1" />
            <enum name="gone" value="2" />
        </attr>
        <attr name="showDark" format="boolean" />
    </declare-styleable>
    <attr name="orientation">
        <enum name="horizontal" value="0" />
        <enum name="vertical" value="1" />
    </attr>
    <declare-styleable name="UserAvatarView">
        <attr name="avatarPadding" format="dimension" />
        <attr name="frameWidth" format="dimension" />
        <attr name="framePadding" format="dimension" />
        <!-- {@deprecated Use a statelist in frameColor instead.} -->
        <attr name="activeFrameColor" format="color" />
        <attr name="frameColor" />
        <attr name="badgeDiameter" format="dimension" />
        <attr name="badgeMargin" format="dimension" />
    </declare-styleable>
    <declare-styleable name="UserDetailItemView">
        <attr name="regularFontFamily" format="string" />
        <attr name="activatedFontFamily" format="string" />
    </declare-styleable>
    <declare-styleable name="DateView">
        <attr name="datePattern" format="string" />
    </declare-styleable>
    <declare-styleable name="PseudoGridView">
        <attr name="numColumns" format="integer" />
        <attr name="verticalSpacing" format="dimension" />
        <attr name="horizontalSpacing" format="dimension" />
    </declare-styleable>

    <!-- Theme for icons in the status bar (light/dark). background/fillColor is used for dual tone
         icons like wifi and signal, and singleToneColor is used for icons with only one tone.
         Contract: Pixel with fillColor blended over backgroundColor blended over translucent should
         equal to singleToneColor blended over translucent. -->
    <declare-styleable name="TonedIcon">
        <attr name="backgroundColor" format="integer" />
        <attr name="fillColor" format="integer" />
        <attr name="singleToneColor" format="integer" />
    </declare-styleable>

    <declare-styleable name="StatusBarWindowView_Layout">
        <attr name="ignoreRightInset" format="boolean" />
    </declare-styleable>

    <declare-styleable name="AnimatedImageView">
        <attr name="hasOverlappingRendering" format="boolean" />
    </declare-styleable>

    <declare-styleable name="TunerSwitch">
        <attr name="defValue" format="boolean" />
        <attr name="metricsAction" format="integer" />
    </declare-styleable>

    <declare-styleable name="AutoReinflateContainer">
        <attr name="android:layout" />
    </declare-styleable>

    <declare-styleable name="HybridNotificationTheme">
        <attr name="hybridNotificationStyle" format="reference" />
        <attr name="hybridNotificationTitleStyle" format="reference" />
        <attr name="hybridNotificationTextStyle" format="reference" />
    </declare-styleable>

    <declare-styleable name="AutoSizingList">
        <!-- Whether AutoSizingList will show only as many items as fit on screen and
             remove extra items instead of scrolling. -->
        <attr name="enableAutoSizing" format="boolean" />
        <attr name="itemHeight" format="dimension" />
    </declare-styleable>

    <declare-styleable name="PluginInflateContainer">
        <attr name="viewType" format="string" />
    </declare-styleable>

    <attr name="lightIconTheme" format="reference" />
    <attr name="darkIconTheme" format="reference" />
    <attr name="wallpaperTextColor" format="reference|color" />
    <attr name="wallpaperTextColorSecondary" format="reference|color" />

    <declare-styleable name="SmartReplyView">
        <attr name="spacing" format="dimension" />
        <attr name="singleLineButtonPaddingHorizontal" format="dimension" />
        <attr name="doubleLineButtonPaddingHorizontal" format="dimension" />
        <attr name="buttonStrokeWidth" format="dimension" />
    </declare-styleable>

    <!-- Used to style rotate suggestion button AVD animations -->
    <attr name="rotateButtonStartAngle" format="float" />
    <attr name="rotateButtonEndAngle" format="float" />
    <attr name="rotateButtonScaleX" format="float" />

    <!-- Used display CarrierText in Keyguard or QS Footer -->
    <declare-styleable name="CarrierText">
        <attr name="allCaps" format="boolean" />
        <attr name="showMissingSim" format="boolean" />
        <attr name="showAirplaneMode" format="boolean" />
    </declare-styleable>
</resources>

