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

    <!-- LeanbackBase may be overridden for specific api levels -->
    <style name="Theme.LeanbackBase" parent="android:Theme.Holo.NoActionBar">
        <item name="playbackProgressPrimaryColor">@color/lb_playback_progress_color_no_theme</item>
        <item name="playbackControlsIconHighlightColor">@color/lb_playback_icon_highlight_no_theme</item>
        <item name="defaultBrandColor">@color/lb_default_brand_color</item>
    </style>

    <style name="Theme.Leanback" parent="Theme.LeanbackBase">

        <item name="android:windowOverscan">true</item>

        <item name="baseCardViewStyle">@style/Widget.Leanback.BaseCardViewStyle</item>
        <item name="imageCardViewStyle">@style/Widget.Leanback.ImageCardViewStyle</item>

        <item name="browsePaddingLeft">@dimen/lb_browse_padding_left</item>
        <item name="browsePaddingRight">@dimen/lb_browse_padding_right</item>
        <item name="browsePaddingTop">@dimen/lb_browse_padding_top</item>
        <item name="browsePaddingBottom">@dimen/lb_browse_padding_bottom</item>
        <item name="browseRowsMarginStart">@dimen/lb_browse_rows_margin_start</item>
        <item name="browseRowsMarginTop">@dimen/lb_browse_rows_margin_top</item>
        <item name="browseRowsFadingEdgeLength">@dimen/lb_browse_rows_fading_edge</item>

        <item name="headersVerticalGridStyle">@style/Widget.Leanback.Headers.VerticalGridView</item>
        <item name="headerStyle">@style/Widget.Leanback.Header</item>

        <item name="rowsVerticalGridStyle">@style/Widget.Leanback.Rows.VerticalGridView</item>
        <item name="rowHorizontalGridStyle">@style/Widget.Leanback.Row.HorizontalGridView</item>
        <item name="itemsVerticalGridStyle">@style/Widget.Leanback.GridItems.VerticalGridView</item>

        <item name="browseTitleTextStyle">@style/Widget.Leanback.Title.Text</item>
        <item name="browseTitleIconStyle">@style/Widget.Leanback.Title.Icon</item>
        <item name="browseTitleViewStyle">@style/Widget.Leanback.TitleView</item>

        <item name="rowHeaderStyle">@style/Widget.Leanback.Row.Header</item>
        <item name="rowHoverCardTitleStyle">@style/Widget.Leanback.Row.HoverCardTitle</item>
        <item name="rowHoverCardDescriptionStyle">@style/Widget.Leanback.Row.HoverCardDescription</item>

        <item name="searchOrbViewStyle">@style/Widget.Leanback.SearchOrbViewStyle</item>

        <item name="detailsDescriptionTitleStyle">@style/Widget.Leanback.DetailsDescriptionTitleStyle</item>
        <item name="detailsDescriptionSubtitleStyle">@style/Widget.Leanback.DetailsDescriptionSubtitleStyle</item>
        <item name="detailsDescriptionBodyStyle">@style/Widget.Leanback.DetailsDescriptionBodyStyle</item>
        <item name="detailsActionButtonStyle">@style/Widget.Leanback.DetailsActionButtonStyle</item>
        <item name="playbackControlsButtonStyle">@style/Widget.Leanback.PlaybackControlsButtonStyle</item>
        <item name="playbackControlButtonLabelStyle">@style/Widget.Leanback.PlaybackControlLabelStyle</item>
        <item name="playbackControlsTimeStyle">@style/Widget.Leanback.PlaybackControlsTimeStyle</item>
        <item name="playbackControlsActionIcons">@style/Widget.Leanback.PlaybackControlsActionIconsStyle</item>

        <item name="errorMessageStyle">@style/Widget.Leanback.ErrorMessageStyle</item>

        <!-- TODO should be null, and set programatically to avoid dependence on leanback theme -->
        <item name="defaultSearchColor">@null</item>
        <item name="defaultSearchBrightColor">@null</item>
        <item name="defaultSearchIcon">@null</item>

        <!-- android:windowSharedElementEnterTransition is kept for backward compatibility for apps still refer
        to Theme.Leanback, app should use Theme.Leanback.Details instead -->
        <item name="android:windowSharedElementEnterTransition">@transition/lb_shared_element_enter_transition</item>
        <!-- android:windowSharedElementReturnTransition is kept for backward compatibility for apps still refer
        to Theme.Leanback, app should use Theme.Leanback.Details instead -->
        <item name="android:windowSharedElementReturnTransition">@transition/lb_shared_element_return_transition</item>
        <item name="android:windowEnterTransition">@transition/lb_enter_transition</item>
        <item name="android:windowReturnTransition">@transition/lb_return_transition</item>
        <item name="android:windowTransitionBackgroundFadeDuration">350</item>

        <item name="overlayDimMaskColor">@color/lb_view_dim_mask_color</item>
        <item name="overlayDimActiveLevel">@fraction/lb_view_active_level</item>
        <item name="overlayDimDimmedLevel">@fraction/lb_view_dimmed_level</item>
    </style>

    <style name="Theme.Leanback.Browse" parent="Theme.Leanback">
        <item name="android:windowEnterTransition">@transition/lb_browse_enter_transition</item>
        <item name="android:windowReturnTransition">@transition/lb_browse_return_transition</item>
    </style>

    <style name="Theme.Leanback.Details" parent="Theme.Leanback">
        <item name="android:windowEnterTransition">@transition/lb_details_enter_transition</item>
        <item name="android:windowReturnTransition">@transition/lb_details_return_transition</item>
        <item name="android:windowSharedElementEnterTransition">@transition/lb_shared_element_enter_transition</item>
        <item name="android:windowSharedElementReturnTransition">@transition/lb_shared_element_return_transition</item>
    </style>

</resources>
