<?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="browsePaddingStart">@dimen/lb_browse_padding_start</item>
        <item name="browsePaddingEnd">@dimen/lb_browse_padding_end</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>
