<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright 2010, 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>
    <drawable name="notification_number_text_color">#ffffffff</drawable>
    <drawable name="ticker_background_color">#ff1d1d1d</drawable>
    <drawable name="system_bar_background">@color/system_bar_background_opaque</drawable>
    <color name="system_bar_background_opaque">#ff000000</color>
    <color name="system_bar_background_semi_transparent">#66000000</color> <!-- 40% black -->
    <color name="system_bar_background_transparent">#00000000</color>
    <color name="notification_panel_solid_background">#ff000000</color>
    <drawable name="status_bar_recents_app_thumbnail_background">#88000000</drawable>
    <color name="status_bar_recents_app_label_color">#ffffffff</color>
    <drawable name="status_bar_notification_row_background_color">#ff090909</drawable>
    <color name="notification_list_shadow_top">#80000000</color>
    <drawable name="recents_callout_line">#99ffffff</drawable>
    <drawable name="heads_up_notification_bg_pressed">#ff33B5E5</drawable>
    <color name="batterymeter_frame_color">#66FFFFFF</color><!-- 40% white -->
    <color name="batterymeter_charge_color">#FFFFFFFF</color>
    <color name="batterymeter_bolt_color">#FFFFFFFF</color>
    <color name="qs_batterymeter_frame_color">#FF404040</color>
    <color name="system_primary_color">#ff263238</color>
    <color name="system_secondary_color">#ff384248</color>
    <color name="system_accent_color">#ff80CBC4</color><!-- deep teal 200 -->
    <color name="system_warning_color">#fff4511e</color><!-- deep orange 600 -->
    <color name="qs_text">#FFFFFFFF</color>
    <color name="qs_tile_divider">#29ffffff</color><!-- 16% white -->
    <color name="qs_tile_text">#B3FFFFFF</color><!-- 70% white -->
    <color name="qs_subhead">#66FFFFFF</color><!-- 40% white -->
    <color name="qs_detail_empty">#24B0BEC5</color><!-- 14% blue grey 200-->
    <color name="data_usage_secondary">#99FFFFFF</color><!-- 60% white -->
    <color name="data_usage_graph_track">#33FFFFFF</color><!-- 20% white -->
    <color name="data_usage_graph_warning">#FFFFFFFF</color>
    <color name="status_bar_clock_color">#FFFFFFFF</color>
    <color name="qs_user_detail_icon_muted">#4DB0BEC5</color> <!-- 30% blue grey 200-->

    <!-- Tint color for the content on the notification overflow card. -->
    <color name="keyguard_overflow_content_color">#ff686868</color>

    <!-- The default recents task bar background color. -->
    <color name="recents_task_bar_default_background_color">#ffe6e6e6</color>
    <!-- The recents task bar light text color to be drawn on top of dark backgrounds. -->
    <color name="recents_task_bar_light_text_color">#ffeeeeee</color>
    <!-- The recents task bar dark text color to be drawn on top of light backgrounds. -->
    <color name="recents_task_bar_dark_text_color">#cc000000</color>
    <!-- The recents task bar light dismiss icon color to be drawn on top of dark backgrounds. -->
    <color name="recents_task_bar_light_dismiss_color">#ffeeeeee</color>
    <!-- The recents task bar dark dismiss icon color to be drawn on top of light backgrounds. -->
    <color name="recents_task_bar_dark_dismiss_color">#cc000000</color>
    <!-- The recents task bar highlight color. -->
    <color name="recents_task_bar_highlight_color">#28ffffff</color>
    <!-- The lock to task button background color. -->
    <color name="recents_task_view_lock_to_app_button_background_color">#ffe6e6e6</color>
    <!-- The lock to task button foreground color. -->
    <color name="recents_task_view_lock_to_app_button_color">#ff666666</color>

    <color name="keyguard_affordance">#ffffffff</color>

    <!-- The color of the legacy notification background -->
    <color name="notification_legacy_background_color">#ff1a1a1a</color>

    <!-- The color of the material notification background -->
    <color name="notification_material_background_color">#fffafafa</color>

    <!-- The color of the material notification background when dimmed -->
    <color name="notification_material_background_dimmed_color">#d4ffffff</color>

    <!-- The color of the material notification background when low priority -->
    <color name="notification_material_background_low_priority_color">#ffdcdcdc</color>

    <!-- The color of the ripples on the untinted notifications -->
    <color name="notification_ripple_untinted_color">#20000000</color>

    <!-- The color of the ripples on the tinted notifications -->
    <color name="notification_ripple_tinted_color">#30ffffff</color>

    <!-- The color of the circle around the primary user in the user switcher -->
    <color name="current_user_border_color">@color/system_accent_color</color>

    <color name="segmented_button_selected">#ff3d4549</color><!-- #33afbdc4 = 20% #afbdc4 = #ff3d4549 composite -->
    <color name="segmented_button_background">#ff21272b</color>
    <color name="segmented_button_text_inactive">#b3afbdc4</color><!-- 70% -->
</resources>
