<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2024 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 xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="ActionBarThemeCommonM3" parent="@style/ThemeOverlay.AppCompat.ActionBar">
        <item name="colorControlNormal">?android:textColorSecondary</item>
        <!-- Modern platform themes set actionMenuTextColor to textColorPrimary. For example,
             see Theme.Material in frameworks/base/core/res/res/values/themes_material.xml.
             However, if the platform theme does not set actionMenuTextColor we are going to
             crash, so let's set it here. Additionally, most of our ActionBarTheme themes
             override this -->
        <item name="android:actionMenuTextColor">?android:textColorPrimary</item>
        <item name="android:textAllCaps">false</item>
    </style>

    <!-- This gets overridden for specific platform versions and/or configs -->
    <style name="ActionBarThemeM3" parent="@style/ActionBarThemeCommonM3"/>

    <style name="HamburgerMenuButtonStyle" parent="@style/Widget.Material3.Search.Toolbar.Button.Navigation">
        <item name="android:maxWidth">@dimen/icon_size_headline_large</item>
        <item name="android:maxHeight">@dimen/icon_size_headline_large</item>
    </style>

    <style name="JobProgressToolbarIndicatorStyle" parent="@style/Widget.Material3.CircularProgressIndicator.ExtraSmall">
        <item name="android:background">?attr/actionBarItemBackground</item>
        <item name="indicatorSize">@dimen/job_progress_toolbar_indicator_size</item>
        <item name="indicatorInset">0dp</item>
    </style>

    <style name="ToolbarStyles" parent="@style/Widget.Material3.Toolbar">
        <item name="android:paddingStart">@dimen/toolbar_padding_start</item>
        <item name="android:paddingEnd">@dimen/toolbar_padding_end</item>
        <item name="contentInsetStart">@dimen/toolbar_content_inset_start</item>
        <item name="contentInsetStartWithNavigation">@dimen/toolbar_content_inset_start</item>
        <item name="titleMarginStart">@dimen/search_bar_text_margin_start_m3</item>
        <item name="titleTextAppearance">@style/ToolbarTitleM3</item>
    </style>

    <style name="ThumbnailCardViewStyle" parent="@style/Widget.Material3.CardView.Outlined">
        <item name="cardBackgroundColor">?attr/colorSurfaceContainerLowest</item>
        <item name="cardPreventCornerOverlap">false</item>
        <item name="cardElevation">0dp</item>
        <item name="strokeWidth">0dp</item>
        <!-- use CardView's default shape ?attr/shapeAppearanceCornerMedium -->
    </style>

    <style name="ListThumbnailCardViewStyle" parent="@style/ThumbnailCardViewStyle">
        <item name="cardCornerRadius">@dimen/list_item_thumbnail_corner_radius</item>
    </style>

    <style name="GridThumbnailCardViewStyle" parent="@style/ThumbnailCardViewStyle" />

    <style name="ThumbnailImageViewStyle" parent="">
        <item name="strokeColor">?attr/colorSecondaryContainer</item>
        <!-- stroke width will be controlled dynamically in the code. -->
        <item name="strokeWidth">0dp</item>
    </style>

    <style name="ListThumbnailImageViewStyle" parent="@style/ThumbnailImageViewStyle">
        <item name="shapeAppearance">@style/ListThumbnailImageViewShapeAppearance</item>
    </style>

    <style name="GridThumbnailImageViewStyle" parent="@style/ThumbnailImageViewStyle">
        <item name="shapeAppearance">?attr/shapeAppearanceCornerMedium</item>
    </style>

    <style name="ListThumbnailImageViewShapeAppearance" parent="">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">@dimen/list_item_thumbnail_corner_radius</item>
    </style>

    <style name="SnackbarStyle" parent="Widget.Material3.Snackbar">
        <item name="android:maxWidth">@dimen/snackbar_max_width</item>
        <item name="android:layout_margin">16dp</item>
    </style>

    <style name="SnackbarButtonStyleM3" parent="@style/Widget.AppCompat.Button.Borderless">
        <item name="android:textColor">?android:colorPrimary</item>
    </style>

    <style name="AutoCompleteTextViewStyleM3" parent="@style/Widget.AppCompat.AutoCompleteTextView">
        <item name="android:textColorHint">?android:attr/textColorSecondary</item>
        <item name="android:textAppearance">@style/AutoCompleteTextM3</item>
    </style>

    <style name="BottomSheetDialogStyleM3" parent="@style/ThemeOverlay.Material3.BottomSheetDialog">
        <item name="android:windowIsFloating">false</item>
        <item name="bottomSheetStyle">@style/BottomSheetM3</item>
        <!-- This controls the focus background which we don't want.  -->
        <item name="colorControlHighlight">@android:color/transparent</item>
    </style>

    <style name="BottomSheetM3" parent="@style/Widget.Material3.BottomSheet.Modal">
        <item name="android:background">@drawable/bottom_sheet_dialog_background_m3</item>
    </style>

    <style name="OverflowButtonStyleM3" parent="@style/Widget.Material3.Search.ActionButton.Overflow">
        <item name="android:minWidth">@dimen/button_touch_size_m3</item>
    </style>

    <style name="OverflowMenuStyleM3" parent="@style/Widget.Material3.PopupMenu.Overflow">
        <item name="android:overlapAnchor">false</item>
    </style>

    <style name="MaterialButtonM3" parent="@style/Widget.Material3.Button.UnelevatedButton">
        <item name="android:textAppearance">@style/MaterialButtonTextAppearanceM3</item>
    </style>

    <style name="MaterialTonalButton" parent="@style/Widget.Material3.Button.TonalButton">
        <item name="android:textAppearance">@style/MaterialButtonTextAppearanceM3</item>
    </style>

    <style name="MaterialOutlinedButtonM3" parent="@style/Widget.Material3.Button.OutlinedButton">
        <item name="android:textAppearance">@style/MaterialButtonTextAppearanceM3</item>
    </style>

    <style name="DialogFilledButton" parent="@style/MaterialButtonM3">
        <item name="android:layout_marginStart">8dp</item>
    </style>

    <style name="DialogTextButtonM3" parent="@style/Widget.Material3.Button.TextButton.Dialog">
        <item name="android:textAppearance">@style/MaterialButtonTextAppearanceM3</item>
    </style>

    <style name="MaterialAlertDialogThemeM3" parent="@style/ThemeOverlay.Material3.MaterialAlertDialog">
        <item name="buttonBarPositiveButtonStyle">@style/DialogFilledButton</item>
        <item name="buttonBarNegativeButtonStyle">@style/MaterialOutlinedButtonM3</item>
        <item name="buttonBarNeutralButtonStyle">@style/DialogTextButtonM3</item>
        <item name="materialAlertDialogTitleTextStyle">@style/MaterialAlertDialogTitleStyleM3</item>
        <item name="materialAlertDialogBodyTextStyle">@style/MaterialAlertDialogBodyStyle</item>
    </style>

    <style name="SearchChipItemStyle" parent="@style/Widget.Material3.Chip.Filter">
        <item name="android:textAppearance">@style/SearchChipTextM3</item>
        <item name="chipBackgroundColor">@color/search_chip_background_color_m3</item>
        <item name="chipStrokeColor">@color/search_chip_stroke_color_m3</item>
        <!-- use Chip's default shape ?attr/shapeAppearanceCornerSmall -->
    </style>

    <style name="SearchOptionsTriggerStyle" parent="@style/SearchChipItemStyle">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_marginEnd">@dimen/space_extra_small_4</item>
    </style>

    <style name="DrawerStyle" parent="">
        <item name="android:background">?attr/colorSurfaceContainer</item>
        <!-- Use padding together with the "outsideOverlay" scrollbar style to to make sure the
            scrollbar appears on the edge of the container, and scrollbar trigger area doesn't
            affect the hover effect of the views (e.g. action icon) on the edge.
         -->
        <item name="android:paddingHorizontal">@dimen/drawer_padding_horizontal</item>
        <item name="android:paddingTop">@dimen/drawer_padding_top</item>
        <item name="android:paddingBottom">@dimen/drawer_padding_bottom</item>
        <item name="android:scrollbarStyle">outsideOverlay</item>
        <item name="android:clipToPadding">false</item>
    </style>

    <style name="DrawerItemStyle" parent="">
        <item name="android:paddingStart">16dp</item>
        <item name="android:paddingEnd">4dp</item>
        <item name="android:background">@drawable/root_item_background_m3</item>
    </style>

    <style name="DrawerItemActionIconStyle" parent="@style/Widget.Material3.Button.IconButton">
        <item name="android:layout_marginStart">@dimen/drawer_item_action_icon_margin_start</item>
        <item name="strokeColor">?attr/colorSecondary</item>
    </style>

    <style name="ProfileTabStyle" parent="@style/Widget.Material3.TabLayout">
        <!-- Use transparent bg color to hide the underline for tab layout. -->
        <item name="android:background">@android:color/transparent</item>
        <item name="tabIndicatorColor">?attr/colorPrimary</item>
        <item name="tabIndicatorHeight">@dimen/tab_selector_indicator_height_m3</item>
        <item name="tabTextColor">?attr/colorOnSurfaceVariant</item>
        <item name="tabSelectedTextColor">?attr/colorOnPrimaryContainer</item>
        <item name="tabTextAppearance">@style/TabTextAppearanceM3</item>
    </style>

    <style name="FileItemLabelStyle" parent="">
        <item name="android:ellipsize">end</item>
        <item name="android:minWidth">70dp</item>
        <item name="android:singleLine">true</item>
        <item name="android:textAppearance">@style/FileItemLabelText</item>
    </style>

    <style name="NavRailStyle" parent="">
        <item name="android:background">?attr/colorSurfaceContainer</item>
        <item name="android:paddingHorizontal">@dimen/space_small_3</item>
        <item name="android:paddingTop">@dimen/space_extra_small_6</item>
        <item name="android:paddingBottom">@dimen/space_small_1</item>
        <item name="android:scrollbarStyle">outsideOverlay</item>
        <item name="android:clipToPadding">false</item>
    </style>

    <style name="NavRailItemStyle" parent="">
        <!-- By default the nav rail item has a grey background when it's focused, but we need the
        background to be put on the icon inside, thus the defaultFocusHighlightEnabled=false here.
        -->
        <item name="android:defaultFocusHighlightEnabled">false</item>
        <item name="android:paddingHorizontal">@dimen/space_extra_small_4</item>
        <item name="android:paddingVertical">@dimen/space_extra_small_3</item>
    </style>

    <style name="NavRailItemTextStyle" parent="">
        <item name="android:layout_marginTop">@dimen/space_extra_small_2</item>
        <item name="android:textColor">@color/nav_rail_item_text_color</item>
        <item name="android:textAppearance">@style/NavRailItemTextAppearance</item>
    </style>

    <style name="JobProgressPanelStyle" parent="@style/Widget.Material3.CardView.Elevated">
        <item name="cardElevation">1dp</item>
        <item name="cardBackgroundColor">?attr/colorSurfaceDim</item>
    </style>

    <style name="JobProgressItemCardStyle" parent="@style/Widget.Material3.CardView.Filled">
        <item name="cardBackgroundColor">?attr/colorSurfaceContainer</item>
        <item name="shapeAppearance">@style/JobProgressItemCardBaseShape</item>
    </style>

    <style name="JobProgressItemCardBaseShape" parent="@style/ShapeAppearance.Material3.Corner.ExtraSmall" />

    <style name="JobProgressItemTitleStyle" parent="">
        <item name="android:ellipsize">end</item>
        <item name="android:textAppearance">@style/JobProgressItemTitleText</item>
        <item name="android:textAlignment">viewStart</item>
    </style>

    <style name="JobProgressItemExpandButtonStyle" parent="@style/Widget.Material3.Button.IconButton.Filled">
        <item name="android:insetBottom">0dp</item>
        <item name="android:insetLeft">0dp</item>
        <item name="android:insetRight">0dp</item>
        <item name="android:insetTop">0dp</item>
        <item name="android:minHeight">0dp</item>
        <item name="android:paddingHorizontal">6dp</item>
        <item name="android:paddingVertical">1dp</item>
        <item name="backgroundTint">?attr/colorSurfaceContainerHighest</item>
        <item name="icon">@drawable/ic_job_progress_expand</item>
        <item name="iconSize">16dp</item>
        <item name="iconTint">?attr/colorOnSurface</item>
        <item name="shapeAppearance">@style/ShapeAppearance.Material3.Corner.Full</item>
    </style>

    <style name="JobProgressItemActionButtonStyle" parent="@style/Widget.Material3.Button.TextButton">
        <item name="android:minWidth">0dp</item>
        <item name="android:textAppearance">@style/JobProgressItemActionButtonText</item>
    </style>

    <style name="JobProgressItemProgressStyle" parent="@style/Widget.Material3.LinearProgressIndicator">
        <item name="android:paddingTop">4dp</item>
        <item name="android:paddingBottom">4dp</item>
    </style>

    <style name="BannerStyle" parent="@style/Widget.Material3.CardView.Filled">
        <item name="android:layout_marginTop">16dp</item>
        <item name="android:layout_marginBottom">4dp</item>
        <item name="strokeWidth">0dp</item>
        <item name="cardBackgroundColor">?attr/colorSurfaceContainerLow</item>
    </style>
</resources>
