<!--
  ~ Copyright (C) 2012 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>

    <!-- Divider color for header separator -->
    <color name="primary_text_color">#363636</color>

    <!-- Divider color for header separator -->
    <color name="secondary_text_color">#777777</color>

    <!-- Divider color for header separator -->
    <color name="main_header_separator_color">#AAAAAA</color>

    <!-- Divider color for header separator -->
    <color name="secondary_header_separator_color">#D0D0D0</color>

    <!-- Color of the theme of the People app -->
    <color name="people_app_theme_color">#363636</color>

    <!-- Color of image view placeholder. -->
    <color name="image_placeholder">#DDDDDD</color>

    <!-- Secondary text color in the Phone app -->
    <color name="dialtacts_secondary_text_color">#888888</color>

    <!--  Color of the semi-transparent shadow box on contact tiles -->
    <color name="contact_tile_shadow_box_color">#7F000000</color>

    <!--  Color of the status message for starred contacts in the People app -->
    <color name="people_contact_tile_status_color">#CCCCCC</color>

    <color name="shortcut_overlay_text_background">#7f000000</color>

    <color name="textColorIconOverlay">#fff</color>
    <color name="textColorIconOverlayShadow">#000</color>
</resources>
