1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2018 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<resources>
18    <string name="config_statusBarComponent" translatable="false">
19        com.android.systemui.statusbar.car.CarStatusBar
20    </string>
21    <!-- How many milliseconds to wait before force hiding the UserSwitchTransitionView -->
22    <integer name="config_userSwitchTransitionViewShownTimeoutMs" translatable="false">5000
23    </integer>
24
25    <!-- Configure which system bars should be displayed. -->
26    <bool name="config_enableTopSystemBar">true</bool>
27    <bool name="config_enableLeftSystemBar">false</bool>
28    <bool name="config_enableRightSystemBar">false</bool>
29    <bool name="config_enableBottomSystemBar">true</bool>
30
31    <!-- Configure the type of each system bar. Each system bar must have a unique type. -->
32    <!--    STATUS_BAR = 0-->
33    <!--    NAVIGATION_BAR = 1-->
34    <!--    STATUS_BAR_EXTRA = 2-->
35    <!--    NAVIGATION_BAR_EXTRA = 3-->
36    <integer name="config_topSystemBarType">0</integer>
37    <integer name="config_leftSystemBarType">2</integer>
38    <integer name="config_rightSystemBarType">3</integer>
39    <integer name="config_bottomSystemBarType">1</integer>
40
41    <!-- Location of the system bar privacy indicator. This value should be consistent with the
42         layout file where the view for system bar privacy indicator is put. -->
43    <!-- For example the view is put car_top_system_bar.xml, this value should be
44         config_topSystemBarType. -->
45    <integer name="config_privacyIndicatorLocation">@integer/config_topSystemBarType</integer>
46
47    <!-- Configure the relative z-order among the system bars. When two system bars overlap (e.g.
48         if both top bar and left bar are enabled, it creates an overlapping space in the upper left
49         corner), the system bar with the higher z-order takes the overlapping space and padding is
50         applied to the other bar.-->
51    <!-- NOTE: If two overlapping system bars have the same z-order, SystemBarConfigs will throw a
52         RuntimeException, since their placing order cannot be determined. Bars that do not overlap
53         are allowed to have the same z-order. -->
54    <!-- NOTE: If the z-order of a bar is 10 or above, it will also appear on top of HUN's.    -->
55    <integer name="config_topSystemBarZOrder">1</integer>
56    <integer name="config_leftSystemBarZOrder">0</integer>
57    <integer name="config_rightSystemBarZOrder">0</integer>
58    <integer name="config_bottomSystemBarZOrder">10</integer>
59
60    <!-- If set to true, the corresponding system bar will be hidden when Keyboard (IME) appears.
61         NOTE: hideBottomSystemBarKeyboard must not be overlaid directly here. To change its value,
62         overlay config_hideNavBarForKeyboard in framework/base/core/res/res. -->
63    <bool name="config_hideTopSystemBarForKeyboard">false</bool>
64    <bool name="config_hideLeftSystemBarForKeyboard">false</bool>
65    <bool name="config_hideRightSystemBarForKeyboard">false</bool>
66    <bool name="config_hideBottomSystemBarForKeyboard">@*android:bool/config_hideNavBarForKeyboard</bool>
67
68    <!-- If set to false, requests CarSystemBarViews to not intercept touch events to make it easier
69        to touch the buttons without accidentally expanding the notification panel.-->
70    <bool name="config_systemBarButtonsDraggable">false</bool>
71
72    <!--
73    Car SystemUI's notification mediator. Replace with other notification mediators to have
74    the notification panel show from another system bar. The system bar should be enabled to
75    use the mediator with that system bar.
76    Example: config_enableBottomSystemBar=true
77             config_notificationPanelViewMediator=
78                com.android.systemui.car.notification.BottomNotificationPanelViewMediator -->
79    <string name="config_notificationPanelViewMediator" translatable="false">
80        com.android.systemui.car.notification.TopNotificationPanelViewMediator</string>
81
82    <!-- Whether the Notification Panel should be inset by the top system bar. -->
83    <bool name="config_notif_panel_inset_by_top_systembar" translatable="false">false</bool>
84    <!-- Whether the Notification Panel should be inset by the bottom system bar. -->
85    <bool name="config_notif_panel_inset_by_bottom_systembar" translatable="false">true</bool>
86    <!-- Whether the Notification Panel should be inset by the left system bar. -->
87    <bool name="config_notif_panel_inset_by_left_systembar" translatable="false">false</bool>
88    <!-- Whether the Notification Panel should be inset by the right system bar. -->
89    <bool name="config_notif_panel_inset_by_right_systembar" translatable="false">false</bool>
90
91    <!-- Whether navigationBar touch events should be consumed before reaching the CarFacetButton \
92         when the notification panel is open. -->
93    <bool name="config_consumeSystemBarTouchWhenNotificationPanelOpen">false</bool>
94
95    <!-- Whether heads-up notifications should be shown when panel is open. -->
96    <bool name="config_enableHeadsUpNotificationWhenNotificationPanelOpen">true</bool>
97
98    <!-- Whether or not the profile panel should be disabled while driving. -->
99    <bool name="config_profile_panel_disabled_while_driving">true</bool>
100
101    <!--
102        Initial alpha percent value for the background when the notification
103        panel is open. Should be a number between, and inclusive, 0 and 100.
104        If the number is 0, then the background alpha starts off fully
105        transparent. If the number if 100, then the background alpha starts off
106        fully opaque. -->
107    <integer name="config_initialNotificationBackgroundAlpha">0</integer>
108    <!--
109        Final alpha percent value for the background when the notification
110        panel is fully open. Should be a number between, and inclusive, 0 and
111        100. If this value is smaller than
112        config_initialNotificationBackgroundAlpha, the background will default
113        to a constant alpha percent value using the initial alpha. -->
114    <integer name="config_finalNotificationBackgroundAlpha">100</integer>
115
116    <!-- Car System UI's OverlayViewsMediator.
117         Whenever a new class is added, make sure to also add that class to OverlayWindowModule. -->
118    <string-array name="config_carSystemUIOverlayViewsMediators" translatable="false">
119        <item>@string/config_notificationPanelViewMediator</item>
120        <item>com.android.systemui.car.hvac.HvacPanelOverlayViewMediator</item>
121        <item>com.android.systemui.car.keyguard.CarKeyguardOverlayViewMediator</item>
122        <item>com.android.systemui.car.systemdialogs.SystemDialogsViewMediator</item>
123        <item>com.android.systemui.car.userswitcher.FullscreenUserSwitcherViewMediator</item>
124        <item>com.android.systemui.car.userswitcher.UserSwitchTransitionViewMediator</item>
125    </string-array>
126
127    <!-- List of package names that are allowed sources of app installation. -->
128    <string-array name="config_allowedAppInstallSources" translatable="false">
129        <item>com.android.vending</item>
130    </string-array>
131
132    <!-- Defines system icons to be excluded from the display. That is to say, the icons in the
133         status bar that are part of this list are never displayed. Each item in the list must be a
134         string defined in core/res/res/config.xml to properly exclude the icon.
135     -->
136    <string-array name="config_statusBarIconsToExclude" translatable="false">
137        <item>@*android:string/status_bar_rotate</item>
138        <item>@*android:string/status_bar_headset</item>
139        <item>@*android:string/status_bar_microphone</item>
140    </string-array>
141
142    <!-- Packages that can post toasts even if it isn't a system application. -->
143    <string-array name="config_restrictedToastsPackageNameAllowList" translatable="false">
144        <!-- These packages may be used for CTS purposes. -->
145        <item>android.widget.cts</item>
146        <item>android.server.wm.app</item>
147        <item>android.server.wm.cts</item>
148        <item>android.server.wm.second</item>
149        <item>com.android.cts.verifier</item>
150    </string-array>
151
152    <!-- Specifies the component name of the app grid activity -->
153    <string name="config_appGridComponentName" translatable="false">com.android.car.carlauncher/.AppGridActivity</string>
154
155    <!--Percentage of the screen height, from the top, where the border between HVAC panel closing
156        or opening, depending on where its handle bar is released after being dragged, would be
157        drawn.
158
159        The idea is that if the HVAC panel handle bar is dragged and then released too close to the
160        panel's origin, then the intent to close the panel is seen to have been canceled, and the
161        panel is expanded back to its original height. On the other hand, if the handle bar is
162        released far enough from the panel's origin, then the panel is collapsed and dismissed.
163
164        If the HVAC panel expands from below, then the HVAC panel handle bar being released below
165        this border would result in the panel being dismissed and collapsed, while it being released
166        above the border results in the panel being expanded back to the original height.
167
168        If the HVAC panel expands from the top, then the HVAC panel handle bar being released above
169        this border would result in the panel being dismissed and collapsed, while it being released
170        below the border results in the panel being expanded back to the original height.
171    -->
172    <integer name="hvac_panel_settle_close_percentage">50</integer>
173
174    <!-- Determines whether the shell features all run on another thread. -->
175    <bool name="config_enableShellMainThread">true</bool>
176
177    <!-- Determines whether the shell task organizer be registered automatiacly or not.
178         It needs to be disabled for CarSystemUI as CarLauncher already registers one. With 2
179         organizers there can be recovery problems if either of the process crashes. -->
180    <!-- TODO(b/228598071): Enabled this to fix b/250675259. -->
181    <bool name="config_registerShellTaskOrganizerOnInit">true</bool>
182
183    <!-- disable standard privacy chip animation (only show immersive) -->
184    <bool name="config_enablePrivacyChipAnimation">false</bool>
185    <!-- show the privacy chip indicator in full screen mode. -->
186    <bool name="config_enableImmersivePrivacyChip">true</bool>
187    <!-- enable animation for the privacy chip indicator in full screen mode. -->
188    <bool name="config_enableImmersivePrivacyChipAnimation">true</bool>
189
190
191    <!-- Animation duration (in milliseconds) when dismissing display input lock icon. -->
192    <integer name="config_displayInputLockIconAnimDuration">250</integer>
193    <!-- The number of milliseconds before the display input lock icon auto-dismisses. -->
194    <integer name="config_displayInputLockIconDismissDelay">250</integer>
195    <!-- The number of milliseconds before the initial display input lock notification auto-dismisses. -->
196    <integer name="config_displayInputLockInitialDismissDelay">3000</integer>
197
198    <!-- Determines whether the car system UI should register the System UI Proxy with the
199     CarService. -->
200    <bool name="config_registerCarSystemUIProxy">true</bool>
201
202    <!-- Determines whether the secondary user SystemUI must be overlaid -->
203    <bool name="config_enableSecondaryUserRRO">true</bool>
204    <!-- RRO package name of the secondary user SystemUI -->
205    <string name="config_secondaryUserSystemUIRROPackageName">
206        com.android.systemui.md.passenger.car.rro
207    </string>
208
209    <!-- App drawer system bar button intent -->
210    <string name="system_bar_app_drawer_intent" translatable="false">intent:#Intent;action=com.android.car.carlauncher.ACTION_APP_GRID;package=com.android.car.carlauncher;launchFlags=0x24000000;end</string>
211    <!-- Determines whether Recents entry point should be shown / should trigger to open Recents -->
212    <bool name="config_enableRecentsEntryPoint">true</bool>
213
214    <!-- set to false to use the default TaskDisplayArea -->
215    <!-- TODO(b/300930725): launcher doesn't show until it's restarted -->
216    <bool name="config_useRemoteLaunchTaskView">false</bool>
217
218    <!-- Determines which system bar to use for display compat toolbar. -->
219    <!-- 0 disabled -->
220    <!-- 1 left -->
221    <!-- 2 right -->
222    <integer name="config_showDisplayCompatToolbarOnSystemBar">0</integer>
223
224    <!-- Determines how to show navigation bar and status bar on app's immersive request, only
225        works if config_remoteInsetsControllerControlsSystemBars is set to true-->
226    <!-- 0 non_immersive show all system bars on immersive request. -->
227    <!-- 1 immersive, hide both bars -->
228    <!-- 2 immersive_with_nav, show nav bar and hide status bar -->
229    <integer name="config_systemBarPersistency">1</integer>
230
231    <!-- Determines the orientation of the status icon. -->
232    <!-- 0 horizontal. -->
233    <!-- 1 vertical -->
234    <integer name="config_statusIconLayoutOrientation">0</integer>
235
236    <!-- Blocking activity feature flag -->
237    <bool name="config_enableAppBlockingActivities">true</bool>
238
239    <!-- Dialer blocking activity component name -->
240    <string name="config_dialerBlockingActivity" translatable="false">com.android.car.dialer/.ui.activecall.InCallActivity</string>
241
242    <!-- Media blocking activity component name -->
243    <string name="config_mediaBlockingActivity" translatable="false">com.android.car.media/.MediaBlockingActivity</string>
244
245    <!--
246        The list to define which activities the data subscription pop-up should not display
247        a message when they are launched
248    -->
249    <string-array translatable="false" name="config_dataSubscriptionBlockedActivitiesList">
250    </string-array>
251
252    <!--
253    The list to define which packages the data subscription pop-up should not display
254    a message when they are launched
255    -->
256    <string-array translatable="false" name="config_dataSubscriptionBlockedPackagesList">
257        <item>com.android.car.settings</item>
258    </string-array>
259</resources>
260