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

<!-- Colors specific to Holo themes. -->
<resources>

    <drawable name="dialog_holo_dark_frame">@drawable/dialog_full_holo_dark</drawable>
    <drawable name="dialog_holo_light_frame">@drawable/dialog_full_holo_light</drawable>
    <drawable name="input_method_fullscreen_background_holo">@drawable/screen_background_holo_dark</drawable>

    <drawable name="screen_background_holo_light">#fff3f3f3</drawable>
    <drawable name="screen_background_holo_dark">#ff000000</drawable>

    <color name="background_holo_dark">#ff000000</color>
    <color name="background_holo_light">#fff3f3f3</color>
    <color name="bright_foreground_holo_dark">@color/background_holo_light</color>
    <color name="bright_foreground_holo_light">@color/background_holo_dark</color>
    <color name="bright_foreground_disabled_holo_dark">#ff4c4c4c</color>
    <color name="bright_foreground_disabled_holo_light">#ffb2b2b2</color>
    <color name="bright_foreground_inverse_holo_dark">@color/bright_foreground_holo_light</color>
    <color name="bright_foreground_inverse_holo_light">@color/bright_foreground_holo_dark</color>
    <color name="dim_foreground_holo_dark">#bebebe</color>
    <color name="dim_foreground_disabled_holo_dark">#80bebebe</color>
    <color name="dim_foreground_inverse_holo_dark">#323232</color>
    <color name="dim_foreground_inverse_disabled_holo_dark">#80323232</color>
    <color name="hint_foreground_holo_dark">#808080</color>
    <color name="dim_foreground_holo_light">#323232</color>
    <color name="dim_foreground_disabled_holo_light">#80323232</color>
    <color name="dim_foreground_inverse_holo_light">#bebebe</color>
    <color name="dim_foreground_inverse_disabled_holo_light">#80bebebe</color>
    <color name="hint_foreground_holo_light">#808080</color>
    <color name="highlighted_text_holo_dark">#6633b5e5</color>
    <color name="highlighted_text_holo_light">#6633b5e5</color>
    <color name="link_text_holo_dark">#5c5cff</color>
    <color name="link_text_holo_light">#0000ee</color>

    <!-- General purpose colors for Holo-themed elements -->
    <eat-comment />

    <!-- A light Holo shade of blue. Equivalent to #ff33b5e5. -->
    <color name="holo_blue_light">#ff33b5e5</color>
    <!-- A light Holo shade of gray. Equivalent to #33999999. -->
    <color name="holo_gray_light">#33999999</color>
    <!-- A light Holo shade of green. Equivalent to #ff99cc00. -->
    <color name="holo_green_light">#ff99cc00</color>
    <!-- A light Holo shade of red. Equivalent to #ffff4444. <-->
    <color name="holo_red_light">#ffff4444</color>
    <!-- A dark Holo shade of blue. Equivalent to #ff0099cc -->
    <color name="holo_blue_dark">#ff0099cc</color>
    <!-- A dark Holo shade of green. Equivalent to #ff669900 -->
    <color name="holo_green_dark">#ff669900</color>
    <!-- A dark Holo shade of red. Equivalent to #ffcc0000 -->
    <color name="holo_red_dark">#ffcc0000</color>
    <!-- A Holo shade of purple. Equivalent to #ffaa66cc -->
    <color name="holo_purple">#ffaa66cc</color>
    <!-- A light Holo shade of orange. Equivalent to #ffffbb33. -->
    <color name="holo_orange_light">#ffffbb33</color>
    <!-- A dark Holo shade of orange. Equivalent to ffff8800. -->
    <color name="holo_orange_dark">#ffff8800</color>
    <!-- A really bright Holo shade of blue. Equivalent to #ff00ddff. -->
    <color name="holo_blue_bright">#ff00ddff</color>
    <!-- A really bright Holo shade of gray. Equivalent to #33cccccc. -->
    <color name="holo_gray_bright">#33CCCCCC</color>

    <!-- Forward compatibility for Material-style theme colors -->
    <eat-comment />

    <color name="holo_primary_dark">@color/black</color>
    <color name="holo_primary">#ff222222</color>
    <color name="holo_control_activated">@color/holo_blue_light</color>
    <color name="holo_control_normal">#39cccccc</color>
    <color name="holo_button_pressed">#59f0f0f0</color>
    <color name="holo_button_normal">#bd292f34</color>

    <color name="holo_light_primary_dark">@color/black</color>
    <color name="holo_light_primary">#ffe6e6e6</color>
    <color name="holo_light_control_activated">@color/holo_blue_light</color>
    <color name="holo_light_control_normal">#dacccccc</color>
    <color name="holo_light_button_pressed">#66666666</color>
    <color name="holo_light_button_normal">#b3cccccc</color>

    <!-- Group buttons -->
    <eat-comment />

    <color name="group_button_dialog_pressed_holo_dark">#46c5c1ff</color>
    <color name="group_button_dialog_focused_holo_dark">#2699cc00</color>

    <color name="group_button_dialog_pressed_holo_light">#ffffffff</color>
    <color name="group_button_dialog_focused_holo_light">#4699cc00</color>

</resources>
