1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2015 The Android Open Source Project
4  ~
5  ~ Licensed under the Apache License, Version 2.0 (the "License");
6  ~ you may not use this file except in compliance with the License.
7  ~ You may obtain a copy of the License at
8  ~
9  ~      http://www.apache.org/licenses/LICENSE-2.0
10  ~
11  ~ Unless required by applicable law or agreed to in writing, software
12  ~ distributed under the License is distributed on an "AS IS" BASIS,
13  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ~ See the License for the specific language governing permissions and
15  ~ limitations under the License
16  -->
17
18<resources>
19
20    <!--
21      ~ This theme should have been named SettingsBase, but it is exposed as overlayable to OEMs and
22      ~ cannot be renamed now.
23      -->
24    <style name="Settings" parent="Theme.SubSettingsBase">
25        <item name="preferenceCategoryTitleTextAppearance">@style/TextAppearance.CategoryTitle</item>
26    </style>
27
28    <!-- This theme should contain attributes that should always be set despite OEM overlays. -->
29    <style name="Theme.PermissionController.Settings" parent="Settings">
30        <!-- These two attributes are required when using Toolbar as ActionBar. -->
31        <item name="android:windowActionBar">false</item>
32        <item name="android:windowNoTitle">true</item>
33    </style>
34
35    <style name="TextAppearance.CategoryTitle"
36           parent="@android:style/TextAppearance.DeviceDefault.Medium">
37        <item name="android:textAllCaps">true</item>
38        <item name="android:textSize">11sp</item>
39        <!-- 0.8 Spacing, 0.8/11 = 0.072727273 -->
40        <item name="android:letterSpacing">0.072727273</item>
41    </style>
42
43    <style name="ReviewPermissions"
44           parent="@android:style/Theme.DeviceDefault.Settings">
45        <item name="android:windowActionBar">false</item>
46        <item name="android:windowNoTitle">true</item>
47        <item name="android:switchStyle">@style/PermissionReviewSwitchStyle</item>
48        <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
49    </style>
50
51    <style name="GrantPermissions"
52           parent="@android:style/Theme.DeviceDefault.Light.Dialog.Alert">
53        <item name="android:windowNoTitle">true</item>
54        <item name="android:windowBackground">@android:color/transparent</item>
55        <!-- The following attributes change the behavior of the dialog, hence they should not be
56             themed -->
57        <item name="android:windowIsTranslucent">true</item>
58    </style>
59
60    <style name="GrantPermissions.Car" parent="Theme.CarUi.NoToolbar">
61        <item name="android:windowNoTitle">true</item>
62        <item name="android:windowBackground">@android:color/transparent</item>
63        <!-- The following attributes change the behavior of the dialog, hence they should not be
64             themed -->
65        <item name="android:windowIsTranslucent">true</item>
66    </style>
67
68    <!-- Unused since R but exposed as overlayable. -->
69    <style name="Header.Settings"
70            parent="@android:style/Theme.DeviceDefault.Settings">
71    </style>
72
73    <style name="RequestRole" parent="android:Theme.DeviceDefault.Settings">
74        <item name="android:colorBackgroundCacheHint">@null</item>
75        <item name="android:navigationBarColor">@android:color/transparent</item>
76        <item name="android:navigationBarDividerColor">@null</item>
77        <item name="android:statusBarColor">@android:color/transparent</item>
78        <item name="android:windowActionBar">false</item>
79        <item name="android:windowAnimationStyle">@null</item>
80        <item name="android:windowBackground">@android:color/transparent</item>
81        <item name="android:windowContentOverlay">@null</item>
82        <item name="android:windowDisablePreview">true</item>
83        <item name="android:windowIsTranslucent">true</item>
84        <item name="android:windowLightNavigationBar">false</item>
85        <item name="android:windowLightStatusBar">false</item>
86        <item name="android:windowNoTitle">true</item>
87    </style>
88
89    <style name="Theme.PermissionGrantDialog"
90           parent="@android:style/Theme.DeviceDefault.Light.Dialog">
91        <item name="android:divider">@drawable/list_divider</item>
92    </style>
93
94    <style name="PermissionDialog"
95           parent="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar">
96    </style>
97
98    <style name="CarSettings" parent="Theme.CarUi.WithToolbar">
99        <item name="carDividerColor">@color/car_divider_color</item>
100    </style>
101
102    <style name="PreferenceDivider" parent="AutoRevokeDivider" />
103
104    <style name="AutoRevokeDivider">
105        <item name="android:background">@color/divider_color_primary</item>
106    </style>
107
108    <style name="Theme.DeviceDefault.Dialog.NoActionBar.DayNight" parent="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" />
109
110    <!--
111        TODO(b/309578419): Make activities handle insets properly and then remove this.
112    -->
113    <style name="OptOutEdgeToEdgeEnforcement" />
114
115
116<!-- Do not allow OEMs to overlay these themes.
117 Must Guarantee that filterTouches is set for these activities -->
118    <style name="FilterTouches">
119        <item name="android:filterTouchesWhenObscured">true</item>
120    </style>
121
122    <style name="Theme.PermissionController.Settings.FilterTouches">
123        <item name="android:filterTouchesWhenObscured">true</item>
124    </style>
125
126    <style name="ReviewPermissions.FilterTouches">
127        <item name="android:filterTouchesWhenObscured">true</item>
128    </style>
129
130    <style name="GrantPermissions.FilterTouches">
131        <item name="android:filterTouchesWhenObscured">true</item>
132    </style>
133
134    <style name="GrantPermissions.Car.FilterTouches">
135        <item name="android:filterTouchesWhenObscured">true</item>
136    </style>
137
138    <style name="RequestRole.FilterTouches">
139        <item name="android:filterTouchesWhenObscured">true</item>
140    </style>
141
142    <style name="PermissionDialog.FilterTouches">
143        <item name="android:filterTouchesWhenObscured">true</item>
144    </style>
145
146    <style name="Theme.EnhancedConfirmationDialog.FilterTouches" parent="Theme.EnhancedConfirmationDialog">
147        <item name="android:filterTouchesWhenObscured">true</item>
148    </style>
149
150    <style name="Theme.PermissionController.IncidentReportDialog"
151        parent="@style/Theme.DeviceDefault.Dialog.NoActionBar.DayNight" />
152
153    <!-- START ENHANCED CONFIRMATION DIALOG -->
154
155    <style name="Theme.EnhancedConfirmationDialog" parent="@android:style/Theme.DeviceDefault.Dialog.NoActionBar">
156        <item name="windowNoTitle">true</item>
157        <item name="android:alertDialogTheme">@style/Theme.EnhancedConfirmationDialogFragment</item>
158        <item name="android:buttonBarStyle">@style/EnhancedConfirmationDialogButtonBar</item>
159        <item name="android:buttonBarPositiveButtonStyle">@style/EnhancedConfirmationDialogButton</item>
160        <item name="android:buttonBarNegativeButtonStyle">@style/EnhancedConfirmationDialogButton</item>
161        <item name="android:buttonBarNeutralButtonStyle">@style/EnhancedConfirmationDialogButton</item>
162    </style>
163
164    <style name="Theme.EnhancedConfirmationDialogFragment" parent="@android:style/Theme.DeviceDefault.Dialog.Alert">
165        <item name="android:buttonBarStyle">@style/EnhancedConfirmationDialogButtonBar</item>
166    </style>
167
168    <!-- END ENHANCED CONFIRMATION DIALOG -->
169</resources>
170