<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2014 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="lbBaseGridView">
        <!-- Allow DPAD key to navigate out at the front of the View (where position = 0),
             default is false  -->
        <attr name="focusOutFront" format="boolean" />
        <!-- Allow DPAD key to navigate out at the end of the view, default is false -->
        <attr name="focusOutEnd" format="boolean" />
        <!-- Defining margin between two items horizontally -->
        <attr name="horizontalMargin" format="dimension" />
        <!-- Defining margin between two items vertically -->
        <attr name="verticalMargin" format="dimension" />
        <!-- Defining gravity of child view -->
        <attr name="android:gravity" />
    </declare-styleable>

    <declare-styleable name="lbHorizontalGridView">
        <!-- Defining height of each row of HorizontalGridView -->
        <attr name="rowHeight" format="dimension" >
            <enum name="wrap_content" value="-2" />
        </attr>
        <!-- Defining number of rows -->
        <attr name="numberOfRows" format="integer" />
    </declare-styleable>

    <declare-styleable name="lbVerticalGridView">
        <!-- Defining width of each column of VerticalGridView -->
        <attr name="columnWidth" format="dimension" >
            <enum name="wrap_content" value="-2" />
        </attr>
        <!-- Defining number of columns -->
        <attr name="numberOfColumns" format="integer" />
    </declare-styleable>

    <declare-styleable name="lbBaseCardView">
        <!-- Defines the type of the card layout -->
        <attr name="cardType" format="enum">
            <!-- A simple card layout with a single layout region. -->
            <enum name="mainOnly" value="0" />
            <!-- A card layout with two layout regions: a main area which is
                 always visible, and an info region that appears over the lower
                 area of the main region. -->
            <enum name="infoOver" value="1" />
            <!-- A card layout with two layout regions: a main area which is
                 always visible, and an info region that appears below the main
                 region. -->
            <enum name="infoUnder" value="2" />
            <!-- A card layout with three layout regions: a main area which is
                 always visible, an info region that appears below the main
                 region, and an extra region that appears below the info region
                 after a small delay. -->
            <enum name="infoUnderWithExtra" value="3" />
        </attr>
        <!-- Defines when the info region of a card layout is displayed. -->
        <attr name="infoVisibility" format="enum">
            <!-- Always display the info region. -->
            <enum name="always" value="0"/>
            <!-- Display the info region only when activated. -->
            <enum name="activated" value="1"/>
            <!-- Display the info region only when selected. -->
            <enum name="selected" value="2"/>
        </attr>
        <!-- Defines when the extra region of a card layout is displayed.
             Depends on infoVisibility, meaning the extra region never displays
             if the info region is not displayed as well. -->
        <attr name="extraVisibility" format="enum">
            <!-- Always display the extra region. -->
            <enum name="always" value="0"/>
            <!-- Display the extra region only when activated. -->
            <enum name="activated" value="1"/>
            <!-- Display the extra region only when selected. -->
            <enum name="selected" value="2"/>
        </attr>
        <!-- Defines the delay in milliseconds before the selection animation
             runs for a card layout. -->
        <attr name="selectedAnimationDelay" format="integer" />
        <!-- Defines the duration in milliseconds of the selection animation for
             a card layout. -->
        <attr name="selectedAnimationDuration" format="integer" />
        <!-- Defines the duration in milliseconds of the activated animation for
             a card layout. -->
        <attr name="activatedAnimationDuration" format="integer" />
    </declare-styleable>

    <!-- This is the basic set of layout attributes for elements within a card
         layout. These attributes are specified with the rest of an elements's
         normal attributes. -->
    <declare-styleable name="lbBaseCardView_Layout">
        <!-- The card layout region defined by this element. At most one of
             element of each type should be specified as an immediate child of
             the card layout. -->
        <attr name="layout_viewType" format="enum">
            <!-- The main region of the card. -->
            <enum name="main" value="0"/>
            <!-- The info region of the card. -->
            <enum name="info" value="1"/>
            <!-- The extra region of the card. -->
            <enum name="extra" value="2"/>
        </attr>
    </declare-styleable>

    <declare-styleable name="lbSearchOrbView">
        <!-- Defining icon of the search affordance -->
        <attr name="searchOrbIcon" format="reference"/>
        <!-- Defining icon tint color of the search affordance -->
        <attr name="searchOrbIconColor" format="reference|color"/>
        <!-- Defining color of the search affordance -->
        <attr name="searchOrbColor" format="reference|color" />
        <!-- Defining pulse color of the search affordance -->
        <attr name="searchOrbBrightColor" format="reference|color" />
    </declare-styleable>

    <declare-styleable name="LeanbackTheme">

        <!-- left padding of BrowseFragment, RowsFragment, DetailsFragment -->
        <attr name="browsePaddingLeft" format="dimension" />
        <!-- right padding of BrowseFragment, RowsFragment, DetailsFragment -->
        <attr name="browsePaddingRight" format="dimension" />
        <!-- top padding of BrowseFragment -->
        <attr name="browsePaddingTop" format="dimension" />
        <!-- bottom padding of BrowseFragment -->
        <attr name="browsePaddingBottom" format="dimension" />
        <!-- start margin of RowsFragment inside BrowseFragment when HeadersFragment is visible -->
        <attr name="browseRowsMarginStart" format="dimension" />
        <!-- top margin of RowsFragment inside BrowseFragment when BrowseFragment title is visible -->
        <attr name="browseRowsMarginTop" format="dimension" />
        <!-- fading edge length of start of browse row when HeadersFragment is visible -->
        <attr name="browseRowsFadingEdgeLength" format="dimension" />

        <!-- BrowseFragment Title text style -->
        <attr name="browseTitleTextStyle" format="reference" />

        <!-- BrowseFragment Title icon style -->
        <attr name="browseTitleIconStyle" format="reference" />

        <!-- BrowseFragment TitleView style -->
        <attr name="browseTitleViewStyle" format="reference" />

        <!-- vertical grid style inside HeadersFragment -->
        <attr name="headersVerticalGridStyle" format="reference" />
        <!-- header style inside HeadersFragment -->
        <attr name="headerStyle" format="reference" />

        <!-- vertical grid style inside RowsFragment -->
        <attr name="rowsVerticalGridStyle" format="reference" />

        <!-- horizontal grid style inside a row -->
        <attr name="rowHorizontalGridStyle" format="reference" />
        <!-- header style inside a row -->
        <attr name="rowHeaderStyle" format="reference" />

        <!-- hover card title style -->
        <attr name="rowHoverCardTitleStyle" format="reference" />
        <!-- hover card description style -->
        <attr name="rowHoverCardDescriptionStyle" format="reference" />

        <!-- CardView styles -->
        <attr name="baseCardViewStyle" format="reference" />
        <attr name="imageCardViewStyle" format="reference" />

        <!-- for details overviews -->
        <attr name="detailsDescriptionTitleStyle" format="reference" />
        <attr name="detailsDescriptionSubtitleStyle" format="reference" />
        <attr name="detailsDescriptionBodyStyle" format="reference" />
        <attr name="detailsActionButtonStyle" format="reference" />

        <!-- style for a vertical grid of items -->
        <attr name="itemsVerticalGridStyle" format="reference" />

        <!-- for messages in the error fragment -->
        <attr name="errorMessageStyle" format="reference" />

        <!-- Default colors -->
        <attr name="defaultBrandColor" format="reference|color" />
        <attr name="defaultSearchColor" format="reference|color" />
        <!-- Default color that search orb pulses to.  If not set, this color is determined programatically based on the defaultSearchColor -->
        <attr name="defaultSearchBrightColor" format="reference|color" />

        <!-- Style for searchOrb -->
        <attr name="searchOrbViewStyle" format="reference"/>
        <attr name="defaultSearchIcon" format="reference" />
    </declare-styleable>


</resources>
