<?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"
           xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">

    <!-- This is the default theme for the picker extracting attributes from the device's
         default theme -->
    <style name="PickerDefaultTheme" parent="@android:style/Theme.DeviceDefault.DayNight">
        <!-- System | Widget section -->
        <item name="actionOverflowButtonStyle">@style/OverflowButtonStyle</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:navigationBarColor">@color/picker_background_color</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
    </style>

    <!-- Sets button attribute for PickerDefaultTheme -->
    <style name="OverflowButtonStyle" parent="Widget.AppCompat.ActionButton.Overflow">
        <item name="android:minWidth">@dimen/button_touch_size</item>
    </style>

    <!-- Defines theme of the PhotoPickerSettingsActivity -->
    <style name="PickerSettingsDefaultTheme" parent="PickerDefaultTheme">
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:listPreferredItemHeightSmall">
            @dimen/picker_settings_list_item_height
        </item>
        <item name="android:listPreferredItemPaddingEnd">
            @dimen/picker_settings_list_item_padding_end
        </item>
    </style>

    <!-- Defines the theme of the PhotoPickerActivity -->
    <style name="PickerMaterialTheme" parent="@style/Theme.Material3.DayNight.NoActionBar">
        <item name="materialAlertDialogTheme">@style/ProfileDialogTheme</item>
        <item name="pickerDragBarColor">#DADCE0</item>
        <item name="pickerHighlightColor">?android:attr/colorAccent</item>
        <item name="pickerHighlightTextColor">@android:color/white</item>
        <item name="pickerProfileButtonColor">#E8F0FE</item>
        <item name="pickerDisabledProfileButtonColor">@android:color/white</item>
        <item name="pickerProfileButtonTextColor">#0B57D0</item>
        <item name="pickerDisabledProfileButtonTextColor">#42757575</item>
        <item name="pickerSelectedTabBackgroundColor">#E8F0FE</item>
        <item name="pickerSelectedTabTextColor">#185ABC</item>
        <item name="pickerTabBackgroundColor">@color/picker_background_color</item>
        <item name="pickerTextColor">?android:attr/textColorPrimary</item>
        <item name="pickerSelectedColor">?android:attr/colorAccent</item>
        <item name="pickerProfileDialogButtonAndIconColor">#1A73E8</item>
        <item name="pickerProfileDialogTitleColor">#202124</item>
        <item name="pickerProfileDialogBodyColor">#5F6368</item>
        <item name="pickerProfileDialogBackgroundColor">@android:color/white</item>
        <!-- TODO(b/195009152): Final banner colors to be updated once received -->
        <item name="pickerBannerBackgroundColor">@color/picker_background_color</item>
        <item name="pickerBannerStrokeColor">@android:color/white</item>
        <item name="pickerBannerPrimaryTextColor">?android:attr/textColorSecondary</item>
        <item name="pickerBannerSecondaryTextColor">?android:attr/textColorPrimary</item>
        <item name="pickerBannerButtonTextColor">?android:attr/colorAccent</item>
        <item name="categoryDefaultThumbnailColor">?attr/colorOnSurfaceVariant</item>
        <item name="categoryDefaultThumbnailCircleColor">?attr/colorSurfaceVariant</item>
    </style>

    <!-- Sets the style of the 'view selected' button in the picker bottom bar and the
         'selected check button' in the PreviewFragment -->
    <style name="MaterialBorderlessButtonStyle"
           parent="@style/Widget.MaterialComponents.Button.TextButton">
        <item name="android:textAppearance">@style/PickerButtonTextAppearance</item>
    </style>

    <!-- Sets the style of the 'add' button in both the picker bottom bar and in the
         PreviewFragment -->
    <style name="MaterialButtonStyle"
           parent="@style/Widget.MaterialComponents.Button.UnelevatedButton">
        <item name="android:textAppearance">@style/PickerButtonTextAppearance</item>
    </style>

    <!-- Sets material alert dialog attributes in PickerMaterialTheme -->
    <style name="ProfileDialogTheme"
           parent="@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog.Centered">
        <item name="shapeAppearanceOverlay">@style/ShapeAppearance</item>
        <item name="android:backgroundDimAmount">@dimen/picker_profile_dialog_scrim</item>
        <item name="android:background">?attr/pickerProfileDialogBackgroundColor</item>
        <item name="materialAlertDialogTitleTextStyle">@style/MaterialAlertDialogTitleStyle</item>
        <item name="materialAlertDialogBodyTextStyle">@style/MaterialAlertDialogBodyStyle</item>
        <item name="materialAlertDialogTitleIconStyle">@style/MaterialAlertDialogIconStyle</item>
        <item name="buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
    </style>


    <!-- The following five styles are used to set the attributes of the shape, button and material
         alert dialog in ProfileDialogTheme -->

    <style name="ShapeAppearance">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">@dimen/picker_profile_dialog_radius</item>
    </style>

    <style name="PositiveButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
        <item name="android:textColor">?attr/pickerProfileDialogButtonAndIconColor</item>
    </style>

    <style name="MaterialAlertDialogTitleStyle"
           parent="@style/MaterialAlertDialog.MaterialComponents.Title.Text.CenterStacked">
        <item name="android:textColor">?attr/pickerProfileDialogTitleColor</item>
        <item name="android:textAppearance">@style/PickerProfileDialogTitle</item>
    </style>

    <style name="MaterialAlertDialogBodyStyle"
           parent="@style/MaterialAlertDialog.MaterialComponents.Body.Text">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">?attr/pickerProfileDialogBodyColor</item>
        <item name="android:textAppearance">@style/PickerProfileDialogBody</item>
    </style>

    <style name="MaterialAlertDialogIconStyle"
           parent="@style/MaterialAlertDialog.MaterialComponents.Title.Icon.CenterStacked">
        <item name="android:tint">?attr/pickerProfileDialogButtonAndIconColor</item>
        <item name="android:importantForAccessibility">no</item>
        <item name="android:layout_width">@dimen/picker_profile_dialog_icon_width</item>
        <item name="android:layout_height">@dimen/picker_profile_dialog_icon_height</item>
    </style>

    <!-- Sets the style for the dismiss and action buttons in picker banner -->
    <style name="PickerBannerButtonTheme"
           parent = "@style/Widget.Material3.Button.TextButton">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textSize">@dimen/picker_banner_button_text_size</item>
        <item name="android:letterSpacing">@dimen/picker_banner_button_text_letter_spacing</item>
        <item name="android:textColor">?attr/pickerBannerButtonTextColor</item>
    </style>

    <!-- Sets the style of the progress dialog shown after selecting the media using the picker -->
    <style name="SelectedMediaPreloaderDialogTheme"
           parent="@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog.Centered">
        <item name="android:textColor">?attr/colorOnSurfaceVariant</item>
        <item name="materialAlertDialogTitleTextStyle">@style/AlertDialogTitleStyle</item>
    </style>

    <!-- Sets text attributes for SelectedMediaPreloaderDialogTheme -->
    <style name="AlertDialogTitleStyle"
           parent="@style/MaterialAlertDialog.MaterialComponents.Title.Text.CenterStacked">
        <item name="android:textColor">?attr/colorOnSurface</item>
    </style>

    <!-- Sets the style of the cancel button of the selected media progress dialog -->
    <style name="ProgressDialogCancelButtonStyle"
           parent="@style/Widget.MaterialComponents.Button.TextButton">
        <item name="android:textColor">?attr/colorOnSurface</item>
    </style>

    <!--
        TODO(b/309578419): Make activities handle insets properly and then remove this.
    -->
    <style name="OptOutEdgeToEdgeEnforcement" />

</resources>
