<?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_transparent">#00000000</color>
    <color name="notification_panel_solid_background">#ff000000</color>
    <drawable name="status_bar_notification_row_background_color">#ff090909</drawable>
    <color name="notification_list_shadow_top">#80000000</color>
    <drawable name="heads_up_notification_bg_pressed">#ff33B5E5</drawable>
    <color name="qs_batterymeter_frame_color">#FF404040</color>
    <color name="qs_tile_divider">#29ffffff</color><!-- 16% white -->
    <color name="qs_subhead">#99FFFFFF</color><!-- 60% white -->
    <color name="qs_detail_button">@*android:color/quaternary_device_default_settings</color>
    <color name="qs_detail_button_white">#B3FFFFFF</color><!-- 70% white -->
    <color name="qs_detail_transition">#66FFFFFF</color>
    <color name="status_bar_clock_color">#FFFFFFFF</color>
    <color name="qs_user_detail_icon_muted">#FFFFFFFF</color> <!-- not so muted after all -->
    <color name="qs_tile_disabled_color">#9E9E9E</color> <!-- 38% black -->
    <color name="qs_customize_background">@color/GM2_grey_50</color>
    <color name="qs_customize_decoration">@color/GM2_grey_100</color>

    <!-- Tint color for the content on the notification overflow card. -->
    <color name="keyguard_overflow_content_color">#ff686868</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">@*android:color/notification_material_background_color</color>

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

    <!-- The color of the material notification background when dark -->
    <color name="notification_material_background_dark_color">#ff333333</color>

    <!-- The color of the dividing line between grouped notifications. -->
    <color name="notification_divider_color">#FF616161</color>

    <!-- The background color of the notification shade -->
    <color name="notification_shade_background_color">#ffeeeeee</color>

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

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

    <!-- The color of the gear shown behind a notification -->
    <color name="notification_gear_color">#ff757575</color>

    <!-- The color of the text inside a notification -->
    <color name="notification_primary_text_color">@*android:color/notification_primary_text_color_light</color>

    <!-- The "inside" of a notification, reached via longpress -->
    <color name="notification_guts_bg_color">@color/GM2_grey_50</color>

    <color name="assist_orb_color">#ffffff</color>

    <color name="keyguard_user_switcher_background_gradient_color">#77000000</color>

    <!-- The color of the navigation bar icons. Need to be in sync with ic_sysbar_* -->
    <color name="navigation_bar_icon_color">#E5FFFFFF</color>

    <!-- The shadow color for light navigation bar icons. -->
    <color name="nav_key_button_shadow_color">#30000000</color>

    <color name="screen_pinning_request_window_bg">#80000000</color>

    <color name="segmented_buttons_background">#14FFFFFF</color><!-- 8% white -->

    <color name="dark_mode_icon_color_single_tone">#99000000</color>
    <color name="dark_mode_icon_color_dual_tone_background">#3d000000</color>
    <color name="dark_mode_icon_color_dual_tone_fill">#7a000000</color>

    <color name="light_mode_icon_color_single_tone">#ffffff</color>
    <color name="light_mode_icon_color_dual_tone_background">#4dffffff</color>
    <color name="light_mode_icon_color_dual_tone_fill">#ffffff</color>

    <color name="docked_divider_background">#ff000000</color>
    <color name="docked_divider_handle">#ffffff</color>
    <drawable name="forced_resizable_background">#59000000</drawable>
    <color name="minimize_dock_shadow_start">#60000000</color>
    <color name="minimize_dock_shadow_end">#00000000</color>

    <color name="default_remote_input_background">@*android:color/notification_default_color</color>
    <color name="remote_input_text_enabled">#ffffffff</color>
    <color name="remote_input_hint">#99ffffff</color>

    <color name="remote_input_accent">#eeeeee</color>

    <color name="quick_step_track_background_background_dark">#1F000000</color>
    <color name="quick_step_track_background_background_light">#33FFFFFF</color>
    <color name="quick_step_track_background_foreground_dark">#38000000</color>
    <color name="quick_step_track_background_foreground_light">#59FFFFFF</color>

    <!-- Keyboard shortcuts colors -->
    <color name="ksh_application_group_color">#fff44336</color>
    <color name="ksh_keyword_color">#d9000000</color>
    <color name="ksh_key_item_color">@color/material_grey_600</color>
    <color name="ksh_key_item_background">@color/material_grey_100</color>

    <color name="instant_apps_color">#ff4d5a64</color>

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

    <color name="smart_reply_button_text">@color/GM2_grey_700</color>
    <color name="smart_reply_button_text_dark_bg">@*android:color/notification_primary_text_color_dark</color>
    <color name="smart_reply_button_background">#ffffffff</color>
    <color name="smart_reply_button_stroke">#ffdadce0</color>

    <!-- Biometric dialog colors -->
    <color name="biometric_dialog_dim_color">#80000000</color> <!-- 50% black -->
    <color name="biometric_face_icon_gray">#ffbdc1c6</color>

    <!-- Logout button -->
    <color name="logout_button_bg_color">#ccffffff</color>

    <!-- GM2 colors -->
    <color name="GM2_grey_50">#F8F9FA</color>
    <color name="GM2_grey_100">#F1F3F4</color>
    <color name="GM2_grey_200">#E8EAED</color>
    <color name="GM2_grey_300">#DADCE0</color>
    <color name="GM2_grey_400">#BDC1C6</color>
    <color name="GM2_grey_500">#9AA0A6</color>
    <color name="GM2_grey_600">#80868B</color>
    <color name="GM2_grey_650">#70757A</color>
    <color name="GM2_grey_700">#5F6368</color>
    <color name="GM2_grey_800">#3C4043</color>
    <color name="GM2_grey_900">#202124</color>
</resources>
