xref: /aosp_15_r20/frameworks/base/packages/SystemUI/res/values/config.xml (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4** Copyright 2009, The Android Open Source Project
5**
6** Licensed under the Apache License, Version 2.0 (the "License");
7** you may not use this file except in compliance with the License.
8** You may obtain a copy of the License at
9**
10**     http://www.apache.org/licenses/LICENSE-2.0
11**
12** Unless required by applicable law or agreed to in writing, software
13** distributed under the License is distributed on an "AS IS" BASIS,
14** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15** See the License for the specific language governing permissions and
16** limitations under the License.
17*/
18-->
19
20<!-- These resources are around just to allow their values to be customized
21     for different hardware and product builds. -->
22<resources>
23    <!-- Component to be used as the recents implementation.  Must implement the
24     RecentsImplementation interface.  This name is in the ComponentName flattened format
25     (package/class)  -->
26    <string name="config_recentsComponent" translatable="false">com.android.systemui.recents.OverviewProxyRecentsImpl</string>
27
28    <!-- For how long the lock screen can be on before the display turns off. -->
29    <integer name="config_lockScreenDisplayTimeout">10000</integer>
30
31    <!-- Vibrator pattern for camera gesture launch. -->
32    <integer-array translatable="false" name="config_cameraLaunchGestureVibePattern">
33        <item>0</item>
34        <item>400</item>
35    </integer-array>
36
37    <!-- Whether to use deadzone with nav bar -->
38    <bool name="config_useDeadZone">true</bool>
39
40    <!-- decay duration (from size_max -> size), in ms -->
41    <integer name="navigation_bar_deadzone_hold">333</integer>
42    <integer name="navigation_bar_deadzone_decay">333</integer>
43
44    <!-- orientation of the dead zone when touches have recently occurred elsewhere on screen -->
45    <integer name="navigation_bar_deadzone_orientation">0</integer>
46
47    <!-- Whether or not lockscreen shortcuts can be customized -->
48    <bool name="custom_lockscreen_shortcuts_enabled">false</bool>
49
50    <!-- Whether or not long-pressing on keyguard will display to customize lockscreen -->
51    <bool name="long_press_keyguard_customize_lockscreen_enabled">false</bool>
52
53    <bool name="config_dead_zone_flash">false</bool>
54
55    <!-- Whether to enable dimming navigation buttons when wallpaper is not visible, should be
56         enabled for OLED devices to reduce/prevent burn in on the navigation bar (because of the
57         black background and static button placements) and disabled for all other devices to
58         prevent wasting cpu cycles on the dimming animation -->
59    <bool name="config_navigation_bar_enable_auto_dim_no_visible_wallpaper">true</bool>
60
61    <!-- The maximum number of tiles in the QuickQSPanel -->
62    <integer name="quick_qs_panel_max_tiles">4</integer>
63
64    <!-- The maximum number of rows in the QuickQSPanel -->
65    <integer name="quick_qs_panel_max_rows">2</integer>
66
67    <!-- The number of columns in the QuickSettings -->
68    <integer name="quick_settings_num_columns">2</integer>
69
70    <!-- The number of rows in the QuickSettings -->
71    <integer name="quick_settings_max_rows">4</integer>
72
73    <!-- The number of rows in the paginated grid QuickSettings -->
74    <integer name="quick_settings_paginated_grid_num_rows">4</integer>
75
76    <!-- The number of rows in the paginated grid QuickQuickSettings -->
77    <integer name="quick_qs_paginated_grid_num_rows">2</integer>
78
79    <!-- The number of columns in the infinite grid QuickSettings -->
80    <integer name="quick_settings_infinite_grid_num_columns">4</integer>
81
82    <!-- The maximum width of large tiles in the infinite grid QuickSettings -->
83    <integer name="quick_settings_infinite_grid_tile_max_width">4</integer>
84
85    <!-- The number of columns in the Dual Shade QuickSettings -->
86    <integer name="quick_settings_dual_shade_num_columns">4</integer>
87
88    <!-- The number of columns in the Split Shade QuickSettings -->
89    <integer name="quick_settings_split_shade_num_columns">4</integer>
90
91    <!-- Override column number for quick settings.
92    For now, this value has effect only when flag lockscreen.enable_landscape is enabled.
93    TODO (b/293252410) - change this comment/resource when flag is enabled -->
94    <integer name="small_land_lockscreen_quick_settings_num_columns">2</integer>
95
96    <!-- Override row number for quick settings.
97    For now, this value has effect only when flag lockscreen.enable_landscape is enabled.
98    TODO (b/293252410) - change this comment/resource when flag is enabled -->
99    <integer name="small_land_lockscreen_quick_settings_max_rows">2</integer>
100
101    <!-- If the dp width of the available space is <= this value, potentially adjust the number
102         of media recommendation items-->
103    <integer name="default_qs_media_rec_width_dp">380</integer>
104
105    <!-- The number of columns that the top level tiles span in the QuickSettings -->
106
107    <!-- The default tiles to display in QuickSettings -->
108    <string name="quick_settings_tiles_default" translatable="false">
109        internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,custom(com.android.permissioncontroller/.permission.service.v33.SafetyCenterQsTileService)
110    </string>
111
112    <!-- The class path of the Safety Quick Settings Tile -->
113    <string name="safety_quick_settings_tile_class" translatable="false">
114        com.android.permissioncontroller.permission.service.v33.SafetyCenterQsTileService
115    </string>
116
117    <!-- The minimum number of tiles to display in QuickSettings -->
118    <integer name="quick_settings_min_num_tiles">6</integer>
119
120    <!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" -->
121    <string name="quick_settings_tiles_stock" translatable="false">
122        internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness,qr_code_scanner,onehanded,color_correction,dream,font_scaling,record_issue,hearing_devices,notes
123    </string>
124
125    <!-- The tiles to display in QuickSettings -->
126    <string name="quick_settings_tiles" translatable="false">default</string>
127
128    <!-- The tiles to display in QuickSettings in retail mode -->
129    <string name="quick_settings_tiles_retail_mode" translatable="false">
130        night,dark,dnd,flashlight,rotation,location
131    </string>
132
133    <!-- Tiles to auto add to Quick Settings upon first change of a given secure setting.
134         The syntax is setting-name:spec. If the tile is a TileService, the spec should be specified
135         as custom(package/class). Relative class name is supported. -->
136    <string-array name="config_quickSettingsAutoAdd" translatable="false">
137        <item>accessibility_font_scaling_has_been_changed:font_scaling</item>
138    </string-array>
139
140    <!-- Use collapsed layout for media player in landscape QQS -->
141    <bool name="config_quickSettingsMediaLandscapeCollapsed">true</bool>
142
143    <!-- Hearing devices related tool list. Each entry must be in ComponentName format
144         (package/class), indicating the specific application component to launch.
145         Already contains tool that handles intent: "com.android.settings.action.live_caption" by
146         default. You can add up to 2 additional related tools. -->
147    <string-array name="config_quickSettingsHearingDevicesRelatedToolName" translatable="false">
148    </string-array>
149
150    <!-- Hearing devices related tool icon list. Provide drawable resource names in the same order
151         as the component names in config_quickSettingsHearingDevicesRelatedToolName. The icons
152         should be monochrome and will be tinted according to the system's material color. Ensure
153         the number of icon resources matches the number of components specified in
154         config_quickSettingsHearingDevicesRelatedToolName. If this array is empty or the sizes
155         don't match, the original application icons will be used. -->
156    <string-array name="config_quickSettingsHearingDevicesRelatedToolIcon" translatable="false">
157    </string-array>
158
159    <!-- Show indicator for Wifi on but not connected. -->
160    <bool name="config_showWifiIndicatorWhenEnabled">false</bool>
161
162    <!-- The number of milliseconds before the heads up notification auto-dismisses. -->
163    <integer name="heads_up_notification_decay">5000</integer>
164
165    <!-- The number of milliseconds before the heads up notification sent automatically by the system auto-dismisses. -->
166    <integer name="auto_heads_up_notification_decay">3000</integer>
167
168    <!-- The number of milliseconds after a heads up notification is pushed back
169     before the app can interrupt again. -->
170    <integer name="heads_up_default_snooze_length_ms">60000</integer>
171
172    <!-- Minimum display time for a heads up notification, in milliseconds. -->
173    <integer name="heads_up_notification_minimum_time">2000</integer>
174
175    <!-- Minimum display time for a heads up notification if throttling is enabled, in milliseconds. -->
176    <integer name="heads_up_notification_minimum_time_with_throttling">500</integer>
177
178    <!-- Display time for a sticky heads up notification, in milliseconds. -->
179    <integer name="sticky_heads_up_notification_time">60000</integer>
180
181    <!-- Whether to hide the notification header when the HUN is expanded. -->
182    <bool name="heads_up_notification_hides_header">false</bool>
183
184    <!-- The number of milliseconds before the heads up notification accepts touches. -->
185    <integer name="touch_acceptance_delay">700</integer>
186
187    <!-- The number of milliseconds to extend ambient pulse by when prompted (e.g. on touch) -->
188    <integer name="ambient_notification_extension_time">10000</integer>
189
190    <!-- The maximum count of notifications on Keyguard. The rest will be collapsed in an overflow
191     card. -->
192    <integer name="keyguard_max_notification_count">-1</integer>
193
194    <!-- Doze: does this device support STATE_DOZE?  -->
195    <bool name="doze_display_state_supported">false</bool>
196
197    <!-- Doze: does this device support STATE_DOZE_SUSPEND?  -->
198    <bool name="doze_suspend_display_state_supported">false</bool>
199
200    <!-- Doze: should the significant motion sensor be used as a pulse signal? -->
201    <bool name="doze_pulse_on_significant_motion">false</bool>
202
203    <!-- Doze: check proximity sensor before pulsing? -->
204    <bool name="doze_proximity_check_before_pulse">true</bool>
205
206    <!-- Doze: only register sensors that use prox when device is in certain Display states. This
207     delays registering sensors when device first shows dozing UI but the
208     Display & Power state hasn't changed to low-power mode yet. -->
209    <bool name="doze_selectively_register_prox">false</bool>
210
211    <!-- Doze: whether the single tap sensor uses the proximity sensor.
212     If both this parameter and doze_selectively_register_prox are true, registration for the
213     sensor will be delayed when the device first enters dozing but the device has not entered its
214     low powered state yet. -->
215    <bool name="doze_single_tap_uses_prox">true</bool>
216
217    <!-- Doze: whether the single tap sensor uses the proximity sensor in the given posture.
218        See doze_single_tap_uses_prox for usage. -->
219    <integer-array name="doze_single_tap_uses_prox_posture_mapping">
220        <item>1</item> <!-- UNKNOWN -->
221        <item>1</item> <!-- CLOSED -->
222        <item>1</item> <!-- HALF_OPENED -->
223        <item>1</item> <!-- OPENED -->
224    </integer-array>
225
226    <!-- Doze: whether the long press sensor uses the proximity sensor.
227     If both this parameter and doze_selectively_register_prox are true, registration for the
228     sensor will be delayed when the device first enters dozing but the device has not entered its
229     low powered state yet. -->
230    <bool name="doze_long_press_uses_prox">true</bool>
231
232    <!-- Doze: duration to avoid false pickup gestures triggered by notification vibrations -->
233    <integer name="doze_pickup_vibration_threshold">2000</integer>
234
235    <!-- Doze: quick pickup duration to stay in AOD until the next gesture is triggered -->
236    <integer name="doze_quick_pickup_aod_duration">5000</integer>
237
238    <!-- Type of a sensor that provides a low-power estimate of the desired display
239         brightness, suitable to listen to while the device is asleep (e.g. during
240         always-on display) -->
241    <string name="doze_brightness_sensor_type" translatable="false"></string>
242
243    <!-- Name of a sensor per posture state that provides a low-power estimate of the desired
244         display brightness, suitable to listen to while the device is asleep (e.g. during
245         always-on display) -->
246    <string-array name="doze_brightness_sensor_name_posture_mapping" translatable="false">
247        <!-- UNKNOWN -->
248        <!-- CLOSED -->
249        <!-- HALF_OPENED -->
250        <!-- OPENED -->
251    </string-array>
252
253    <!-- Override value to use for proximity sensor.  -->
254    <string name="proximity_sensor_type" translatable="false"></string>
255
256    <!-- Sensor type per posture state to use for proximity sensor -->
257    <string-array name="proximity_sensor_posture_mapping" translatable="false">
258        <!-- UNKNOWN -->
259        <!-- CLOSED -->
260        <!-- HALF_OPENED -->
261        <!-- OPENED -->
262    </string-array>
263
264    <!-- If using proximity_sensor_type, specifies a threshold value to distinguish near and
265         far break points. A sensor value less than this is considered "near". -->
266    <item name="proximity_sensor_threshold" translatable="false" format="float" type="dimen"></item>
267
268    <!-- If using proximity_sensor_type, specifies a threshold value to distinguish near and
269         far break points. A sensor value more than this is considered "far". If not set,
270         proximity_sensor_threshold is used. This allows one to implement a latching mechanism for
271         noisy sensors. -->
272    <item name="proximity_sensor_threshold_latch" translatable="false" format="float" type="dimen"></item>
273
274    <!-- Override value to use for proximity sensor as confirmation for proximity_sensor_type. -->
275    <string name="proximity_sensor_secondary_type" translatable="false"></string>
276
277    <!-- Sensor type per posture state to use for proximity sensor as a confirmation for
278        proximity_sensor_type. -->
279    <string-array name="proximity_sensor_secondary_posture_mapping" translatable="false">
280        <!-- UNKNOWN -->
281        <!-- CLOSED -->
282        <!-- HALF_OPENED -->
283        <!-- OPENED -->
284    </string-array>
285
286    <!-- If using proximity_sensor_secondary_type, specifies a threshold value to distinguish
287         near and far break points. A sensor value less than this is considered "near". -->
288    <item name="proximity_sensor_secondary_threshold" translatable="false" format="float"
289          type="dimen"></item>
290
291    <!-- If using proximity_sensor_secondary_type, specifies a threshold value to distinguish near and
292         far break points. A sensor value more than this is considered "far". If not set,
293         proximity_sensor_secondary_threshold is used. This allows one to implement a latching
294         mechanism for noisy sensors. -->
295    <item name="proximity_sensor_secondary_threshold_latch" translatable="false" format="float" type="dimen"></item>
296
297    <!-- Doze: pulse parameter - how long does it take to fade in? -->
298    <integer name="doze_pulse_duration_in">130</integer>
299
300    <!-- Doze: pulse parameter - once faded in, how long does it stay visible? -->
301    <integer name="doze_pulse_duration_visible">6000</integer>
302
303    <!-- Doze: pulse parameter - how long does it take to fade out? -->
304    <integer name="doze_pulse_duration_out">600</integer>
305
306    <!-- Doze: alpha to apply to small icons when dozing -->
307    <integer name="doze_small_icon_alpha">222</integer><!-- 87% of 0xff -->
308
309    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
310               to brightness values in the integer scale [1, 255]; -1 means keeping the current
311               brightness. -->
312    <integer-array name="config_doze_brightness_sensor_to_brightness">
313        <item>-1</item> <!-- 0: OFF -->
314        <item>2</item> <!-- 1: NIGHT -->
315        <item>5</item> <!-- 2: LOW -->
316        <item>27</item> <!-- 3: HIGH -->
317        <item>28</item> <!-- 4: SUN -->
318    </integer-array>
319
320    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
321               to an opacity value for a black scrim that is overlayed in AOD1.
322               Valid range is from 0 (transparent) to 255 (opaque).
323               -1 means keeping the current opacity. -->
324    <integer-array name="config_doze_brightness_sensor_to_scrim_opacity">
325        <item>-1</item> <!-- 0: OFF -->
326        <item>0</item> <!-- 1: NIGHT -->
327        <item>0</item> <!-- 2: LOW -->
328        <item>0</item> <!-- 3: HIGH -->
329        <item>0</item> <!-- 4: SUN -->
330    </integer-array>
331
332    <!-- Doze: whether the double tap sensor reports 2D touch coordinates -->
333    <bool name="doze_double_tap_reports_touch_coordinates">false</bool>
334
335    <!-- Number of times to show the strong alarm warning text in the volume dialog -->
336    <integer name="zen_mode_alarm_warning_threshold">5</integer>
337
338    <!-- Enable the default volume dialog -->
339    <bool name="enable_volume_ui">true</bool>
340
341    <!-- Enable the default volume level warning dialog -->
342    <bool name="enable_safety_warning">true</bool>
343
344    <!-- Whether to show the full screen user switcher. -->
345    <bool name="config_enableFullscreenUserSwitcher">false</bool>
346
347    <!-- Whether to go to the launcher when unlocking via an occluding app -->
348    <bool name="config_goToHomeFromOccludedApps">false</bool>
349
350    <!-- Determines whether the shell features all run on another thread. -->
351    <bool name="config_enableShellMainThread">true</bool>
352
353    <!-- QS tile shape store width. negative implies fill configuration instead of stroke-->
354    <dimen name="config_qsTileStrokeWidthActive">-1dp</dimen>
355    <dimen name="config_qsTileStrokeWidthInactive">-1dp</dimen>
356
357    <!-- SystemUI vender service, used in config_systemUIServiceComponents. -->
358    <string name="config_systemUIVendorServiceComponent" translatable="false">com.android.systemui.VendorServices</string>
359
360    <!-- SystemUI Services (per user): The classes of the stuff to start for each user. This is a subset of the config_systemUIServiceComponents -->
361    <string-array name="config_systemUIServiceComponentsPerUser" translatable="false">
362        <item>com.android.systemui.util.NotificationChannels</item>
363    </string-array>
364
365    <!-- Nav bar button default ordering/layout -->
366    <string name="config_navBarLayout" translatable="false">left[.5W],back[1WC];home;recent[1WC],right[.5W]</string>
367    <string name="config_navBarLayoutQuickstep" translatable="false">back[1.7WC];home;contextual[1.7WC]</string>
368    <string name="config_navBarLayoutHandle" translatable="false">back[70AC];home_handle;ime_switcher[70AC]</string>
369
370    <!-- Whether to show a warning notification when device's skin temperature is high. -->
371    <integer name="config_showTemperatureWarning">0</integer>
372
373    <!-- Whether to show a alarm dialog when device's usb port is overheating. -->
374    <integer name="config_showUsbPortAlarm">0</integer>
375
376    <item type="id" name="action_toggle_overview"/>
377
378    <!-- Whether or not to show notifications to the user. If disabled, SystemUI will still be
379         registered as a notification listener, but will ignore all notification events. -->
380    <bool name="config_renderNotifications">true</bool>
381
382    <!-- Whether or not the gear icon on notifications should be shown. The gear is shown when the
383         the notification is not swiped enough to dismiss it. -->
384    <bool name="config_showNotificationGear">true</bool>
385
386    <!-- Whether or the notifications can be shown and dismissed with a drag. -->
387    <bool name="config_enableNotificationShadeDrag">true</bool>
388
389    <!-- Whether to show activity indicators in the status bar -->
390    <bool name="config_showActivity">false</bool>
391
392    <!-- Whether to show the opportunistic satellite icon. When true, an icon will show to indicate
393         satellite capabilities when all other connections are out of service. -->
394    <bool name="config_showOpportunisticSatelliteIcon">true</bool>
395
396    <!-- Whether or not to show the notification shelf that houses the icons of notifications that
397     have been scrolled off-screen. -->
398    <bool name="config_showNotificationShelf">true</bool>
399
400    <!-- Whether or not the fade on the notification is based on the amount that it has been swiped
401         off-screen. -->
402    <bool name="config_fadeDependingOnAmountSwiped">false</bool>
403
404    <!-- Whether or the notifications should be clipped to be reduced in height if it has been
405         scrolled to the top of the screen. -->
406    <bool name="config_clipNotificationScrollToTop">true</bool>
407
408    <!-- Whether or not the notification contents should be clipped to any background that is
409         set on the notification container. For example, if this value is true and the background
410         has rounded corners, then the contents will be clipped to those corners. -->
411    <bool name="config_clipNotificationsToOutline">false</bool>
412
413    <!-- Whether or not notifications that can be expanded will always be in their expanded state.
414         This value only affects notifications that are not a group of notifications from the same
415         applications. If this value is false, then only the first notification will be expanded
416         when config_autoExpandFirstNotification is true; the other notifications need to be
417         manually expanded by the user. -->
418    <bool name="config_alwaysExpandNonGroupedNotifications">false</bool>
419
420    <!-- Whether or not the first expandable notification will be expanded automatically by the
421         system. This value only affects notifications that are not a group of notifications from
422         the same applications and when config_alwaysExpandNonGroupedNotifications is false. -->
423    <bool name="config_autoExpandFirstNotification">true</bool>
424
425    <!-- Whether or not an expandable notification can be manually expanded or collapsed by the
426         user. Grouped notifications are still expandable even if this value is false. -->
427    <bool name="config_enableNonGroupedNotificationExpand">true</bool>
428
429    <!-- Whether or not there should be dividing lines between child notifications when the
430         group has been expanded. -->
431    <bool name="config_showDividersWhenGroupNotificationExpanded">false</bool>
432
433    <!-- Whether or not the dividing lines should be shown when the container is expanding and
434         collapsing. If this value is true, then the lines will only show when the container has
435         been completely expanded. -->
436    <bool name="config_hideDividersDuringExpand">true</bool>
437
438    <!-- Whether or not child notifications that are part of a group will have shadows. -->
439    <bool name="config_enableShadowOnChildNotifications">true</bool>
440
441    <!-- If true, group numbers are shown in the expander instead of via "+N" overflow number -->
442    <bool name="config_showNotificationGroupCountInExpander">true</bool>
443
444    <!-- Whether or not a view containing child notifications will have a custom background when
445         it has been expanded to reveal its children. -->
446    <bool name="config_showGroupNotificationBgWhenExpanded">false</bool>
447
448    <!-- Should we vibrate on an icon animation of the shelf. This should only be active if the
449     vibrator is capable of subtle vibrations -->
450    <bool name="config_vibrateOnIconAnimation">false</bool>
451
452    <!-- Notifications are sized to match the width of two (of 4) qs tiles in landscape. -->
453    <bool name="config_skinnyNotifsInLandscape">true</bool>
454
455    <!-- Snooze: default notificaiton snooze time. -->
456    <integer name="config_notification_snooze_time_default">60</integer>
457
458    <!-- Snooze: List of snooze values in integer minutes. -->
459    <integer-array name="config_notification_snooze_times">
460        <item>15</item>
461        <item>30</item>
462        <item>60</item>
463        <item>120</item>
464    </integer-array>
465
466    <!-- Smart replies in notifications: Whether smart replies in notifications are enabled. -->
467    <bool name="config_smart_replies_in_notifications_enabled">true</bool>
468
469    <!-- Smart replies in notifications: Whether we disable the feature unless the app targets P -->
470    <bool name="config_smart_replies_in_notifications_requires_targeting_p">true</bool>
471
472    <!-- Smart replies in notifications: Maximum number of times SmartReplyView will try to find a
473         better (narrower) line-break for a double-line smart reply button. -->
474    <integer name="config_smart_replies_in_notifications_max_squeeze_remeasure_attempts">3</integer>
475
476    <!-- Smart replies in notifications: Whether by default tapping on a choice should let the user
477         edit the input before it is sent to the app. Developers can override this via
478         RemoteInput.Builder.setEditChoicesBeforeSending. -->
479    <bool name="config_smart_replies_in_notifications_edit_choices_before_sending">false</bool>
480
481    <!-- Smart replies in notifications: Whether smart suggestions in notifications are enabled in
482         heads-up notifications.  -->
483    <bool name="config_smart_replies_in_notifications_show_in_heads_up">true</bool>
484
485    <!-- Smart replies in notifications: Minimum number of system generated smart replies that
486         should be shown in a notification. If we cannot show at least this many replies we instead
487         show none. -->
488    <integer name="config_smart_replies_in_notifications_min_num_system_generated_replies">0</integer>
489
490    <!-- Smart replies in notifications: Maximum number of smart actions to show in notifications.
491         -->
492    <integer name="config_smart_replies_in_notifications_max_num_actions">-1</integer>
493
494    <!-- Smart replies in notifications: Delay (ms) before smart suggestions are clickable, since
495         they were added. -->
496    <integer name="config_smart_replies_in_notifications_onclick_init_delay">200</integer>
497
498    <!-- Smartspace trampoline activity that is used when the user taps smartspace. -->
499    <string name="config_smartspaceTrampolineActivityComponent" translatable="false">com.google.android.apps.gsa.staticplugins.opa.smartspace.ExportedSmartspaceTrampolineActivity</string>
500
501    <!-- Screenshot editing default activity.  Must handle ACTION_EDIT image/png intents.
502         Blank sends the user to the Chooser first.
503         This name is in the ComponentName flattened format (package/class)  -->
504    <string name="config_screenshotEditor" translatable="false"></string>
505
506    <!-- ComponentName for the file browsing app that the system would expect to be used for
507         screenshots. The icon for this app will be shown to the user when informing them that a
508         screenshot has been saved to a different profile (e.g. work profile). If blank, a default
509         icon will be shown. -->
510    <string name="config_screenshotFilesApp" translatable="false"></string>
511
512    <!-- Recommends a UI mode for the default note-taking app when launched with
513         android.content.Intent#ACTION_CREATE_NOTE
514         0: No UI recommendation. The note app should use its default mode
515         1: Recommend a UI optimized for stylus input. -->
516    <integer name="config_preferredNotesMode">1</integer>
517
518    <!-- The component name of the screenshot editing activity that provides the App Clips flow.
519         The App Clips flow includes taking a screenshot, showing user screenshot cropping activity
520         and finally letting user send the screenshot to the calling notes app. This activity
521         should not send the screenshot to the calling activity without user consent. -->
522    <string name="config_screenshotAppClipsActivityComponent" translatable="false"
523            >com.android.systemui/com.android.systemui.screenshot.appclips.AppClipsActivity</string>
524
525    <!-- Remote copy default activity.  Must handle REMOTE_COPY_ACTION intents.
526     This name is in the ComponentName flattened format (package/class)  -->
527    <string name="config_remoteCopyPackage" translatable="false"></string>
528
529    <!-- SystemUI Plugins that can be loaded on user builds. -->
530    <string-array name="config_pluginAllowlist" translatable="false">
531        <item>com.android.systemui</item>
532    </string-array>
533
534    <!-- Launcher package name for overlaying icons. -->
535    <string name="launcher_overlayable_package" translatable="false">com.android.launcher3</string>
536
537    <!-- ThemePicker package name for overlaying icons. -->
538    <string name="themepicker_overlayable_package" translatable="false">com.android.wallpaper</string>
539
540    <!-- Default rounded corner curve (a Bezier). Must match (the curved path in) rounded.xml.
541         Note that while rounded.xml includes the entire path (including the horizontal and vertical
542         corner edges), this pulls out just the curve.
543     -->
544    <string name="config_rounded_mask" translatable="false">"M8,0C3.6,0,0,3.6,0,8"</string>
545
546    <!-- Preferred refresh rate at keyguard, if supported by the display. Overrides
547         keyguardMaxRefreshRate. -->
548    <integer name="config_keyguardRefreshRate">-1</integer>
549
550    <!-- Preferred max refresh rate at keyguard, if supported by the display. -->
551    <integer name="config_keyguardMaxRefreshRate">-1</integer>
552
553    <!-- Defines system icons to be excluded from the display. That is to say, the icons in the
554         status bar that are part of this list are never displayed. Each item in the list must be a
555         string defined in core/res/res/config.xml to properly exclude the icon.
556     -->
557    <string-array name="config_statusBarIconsToExclude" translatable="false">
558        <item>@*android:string/status_bar_rotate</item>
559        <item>@*android:string/status_bar_headset</item>
560    </string-array>
561
562
563    <!-- Whether to show estimate in QS header. Default to false in case there's not enough
564     space -->
565    <bool name="config_showBatteryEstimateQSBH">false</bool>
566
567    <!-- Whether to show extra battery saver confirmation dialog. -->
568    <bool name="config_extra_battery_saver_confirmation">false</bool>
569
570    <!-- A path representing a shield. Will sometimes be displayed with the battery icon when
571         needed. This path is a 10px wide and 13px tall. -->
572    <string name="config_batterymeterShieldPath" translatable="false">
573        M5 0L0 1.88V6.19C0 9.35 2.13 12.29 5 13.01C7.87 12.29 10 9.35 10 6.19V1.88L5 0Z
574    </string>
575
576    <!-- A path similar to frameworks/base/core/res/res/values/config.xml
577      config_mainBuiltInDisplayCutout that describes a path larger than the exact path of a outer
578      display cutout. If present as well as config_enableDisplayCutoutProtection is set to true,
579      then SystemUI will draw this "protection path" instead of the display cutout path that is
580      normally used for anti-aliasing.
581
582      This path will only be drawn when the front-facing camera turns on, otherwise the main
583      DisplayCutout path will be rendered
584       -->
585    <string translatable="false" name="config_frontBuiltInDisplayCutoutProtection"></string>
586
587    <!-- ID for the camera of outer display that needs extra protection -->
588    <string translatable="false" name="config_protectedCameraId"></string>
589    <!-- Physical ID for the camera of outer display that needs extra protection -->
590    <string translatable="false" name="config_protectedPhysicalCameraId"></string>
591    <!-- Unique ID of the outer display that contains the camera that needs protection. -->
592    <string translatable="false" name="config_protectedScreenUniqueId"></string>
593
594
595    <!-- Similar to config_frontBuiltInDisplayCutoutProtection but for inner display. -->
596    <string translatable="false" name="config_innerBuiltInDisplayCutoutProtection"></string>
597
598    <!-- ID for the camera of inner display that needs extra protection. -->
599    <string translatable="false" name="config_protectedInnerCameraId"></string>
600    <!-- Physical ID for the camera of inner display that needs extra protection -->
601    <string translatable="false" name="config_protectedInnerPhysicalCameraId"></string>
602    <!-- Unique ID of the inner display that contains the camera that needs protection. -->
603    <string translatable="false" name="config_protectedInnerScreenUniqueId"></string>
604
605    <!-- Comma-separated list of packages to exclude from camera protection e.g.
606    "com.android.systemui,com.android.xyz" -->
607    <string translatable="false" name="config_cameraProtectionExcludedPackages"></string>
608
609    <!--  Flag to turn on the rendering of the above path or not  -->
610    <bool name="config_enableDisplayCutoutProtection">false</bool>
611
612    <!-- Controls can query 2 preferred applications for limited number of suggested controls.
613         This config value should contain a list of package names of thoses preferred applications.
614    -->
615    <string-array translatable="false" name="config_controlsPreferredPackages" />
616
617    <!-- Max number of columns for quick controls area -->
618    <integer name="controls_max_columns">2</integer>
619
620    <!-- Max number of columns for power menu lite -->
621    <integer name="power_menu_lite_max_columns">2</integer>
622    <!-- Max number of rows for power menu lite -->
623    <integer name="power_menu_lite_max_rows">4</integer>
624
625    <!-- If the dp width of the available space is <= this value, potentially adjust the number
626         of columns-->
627    <integer name="controls_max_columns_adjust_below_width_dp">320</integer>
628    <!-- If the config font scale is >= this value, potentially adjust the number of columns-->
629    <item name="controls_max_columns_adjust_above_font_scale" translatable="false" format="float" type="dimen">1.25</item>
630
631    <!-- Show a separate icon for low and high volume on the volume dialog -->
632    <bool name="config_showLowMediaVolumeIcon">false</bool>
633
634    <!-- Change the volume row tint when it is inactive, i.e. when it is being dismissed -->
635    <bool name="config_changeVolumeRowTintWhenInactive">true</bool>
636
637    <!-- The duraction of the show animation for the volume dialog in milliseconds -->
638    <integer name="config_dialogShowAnimationDurationMs">300</integer>
639
640    <!-- The duraction of the hide animation for the volume dialog in milliseconds -->
641    <integer name="config_dialogHideAnimationDurationMs">250</integer>
642
643    <!-- Whether or not to show a notification for an unknown battery state -->
644    <bool name="config_showNotificationForUnknownBatteryState">false</bool>
645    <!-- content URL in a notification when ACTION_BATTERY_CHANGED.EXTRA_PRESENT field is false -->
646    <string translatable="false" name="config_batteryStateUnknownUrl"></string>
647
648    <!-- Package name of the preferred system app to perform eSOS action -->
649    <string name="config_preferredEmergencySosPackage" translatable="false"></string>
650
651    <!-- Whether to show the side fps hint while on bouncer -->
652    <bool name="config_show_sidefps_hint_on_bouncer">true</bool>
653
654    <!-- Max number of lines we want to show for the bouncer secondary message -->
655    <integer name="bouncer_secondary_message_lines">2</integer>
656
657    <!-- Whether to use the split 2-column notification shade -->
658    <bool name="config_use_split_notification_shade">false</bool>
659
660    <!-- Whether to force split shade.
661    For now, this value has effect only when flag lockscreen.enable_landscape is enabled.
662    TODO (b/293252410) - change this comment/resource when flag is enabled -->
663    <bool name="force_config_use_split_notification_shade">false</bool>
664
665    <!-- Whether we use large screen shade header which takes only one row compared to QS header -->
666    <bool name="config_use_large_screen_shade_header">false</bool>
667
668    <!-- Whether notification header should never show section headers. -->
669    <bool name="config_notification_never_show_section_headers">false</bool>
670
671    <!-- Default udfps icon. Same path as ic_fingerprint.xml -->
672    <string name="config_udfpsIcon" translatable="false">
673        M25.5,16.3283C28.47,14.8433 31.9167,14 35.5834,14C39.2501,14 42.6968,14.8433 45.6668,16.3283
674        M20,28.6669C22.7683,24.3402 28.7084,21.3335 35.5834,21.3335C42.4585,21.3335 48.3985,
675        24.3402 51.1669,28.6669
676        M22.8607,47.0002C21.834,44.3235 21.834,41.5002 21.834,41.5002C21.834,
677        34.4051 27.7374,28.6667 35.5841,28.6667C43.4308,28.6667 49.3341,34.4051 49.3341,41.5002
678        M49.3344,41.5003V42.0319C49.3344,44.7636 47.1161,47.0003 44.3661,47.0003C41.9461,
679        47.0003 39.8744,45.2403 39.471,42.857L38.9577,
680        39.7769C38.591,37.5953 36.7027,36.0002 34.5027,
681        36.0002C26.5826,36.0002 29.846,49.1087 35.291,50.6487
682        M44.9713,54.6267C42.5513,56.7167 39.2879,58.0001 35.5846,58.0001C32.2296,
683        58.0001 29.2229,56.9551 26.8945,55.195
684    </string>
685
686    <!-- The time (in ms) needed to trigger the device entry icon view's long-press affordance -->
687    <integer name="config_lockIconLongPress" translatable="false">200</integer>
688
689    <!-- The time (in ms) needed to trigger the device entry icon view's long-press affordance
690         when the device supports an under-display fingerprint sensor -->
691    <integer name="config_udfpsDeviceEntryIconLongPress" translatable="false">100</integer>
692
693    <!-- package name of a built-in camera app to use to restrict implicit intent resolution
694         when the double-press power gesture is used. Ignored if empty. -->
695    <string translatable="false" name="config_cameraGesturePackage"></string>
696
697    <!-- Whether a transition of ACTIVITY_TYPE_DREAM to the home app should play a home sound
698         effect -->
699    <bool name="config_playHomeSoundAfterDream">false</bool>
700
701    <!-- Whether a transition of ACTIVITY_TYPE_ASSISTANT to the home app should play a home sound
702         effect -->
703    <bool name="config_playHomeSoundAfterAssistant">false</bool>
704
705    <!-- Whether to use window background blur for the volume dialog. -->
706    <bool name="config_volumeDialogUseBackgroundBlur">false</bool>
707
708    <!-- The properties of the face auth front camera for outer display in pixels -->
709    <integer-array name="config_face_auth_props">
710        <!-- sensorLocationX -->
711        <!-- sensorLocationY -->
712        <!--sensorRadius -->
713    </integer-array>
714
715    <!-- The properties of the face auth front camera for inner display in pixels -->
716    <integer-array name="config_inner_face_auth_props">
717        <!-- sensorLocationX -->
718        <!-- sensorLocationY -->
719        <!--sensorRadius -->
720    </integer-array>
721
722    <!-- Overrides the behavior of the face unlock keyguard bypass setting:
723         0 - Don't override the setting (default)
724         1 - Override the setting to always bypass keyguard
725         2 - Override the setting to never bypass keyguard -->
726    <integer name="config_face_unlock_bypass_override">0</integer>
727
728    <!-- Messages that should NOT be shown to the user during face authentication on keyguard.
729         This includes both lockscreen and bouncer. This should be used to hide messages that may be
730         too chatty or messages that the user can't do much about. Entries are defined in
731         [email protected] types.hal.
732
733         Although not visibly shown to the user, these acquired messages (sent per face auth frame)
734         are still counted towards the total frames to determine whether a deferred message
735         (see config_face_help_msgs_defer_until_timeout) meets the threshold % of frames to show on
736         face timeout. -->
737     <integer-array name="config_face_acquire_device_entry_ignorelist" translatable="false" >
738    </integer-array>
739
740    <!-- Which face help messages to defer until face auth times out. If face auth is cancelled
741         or ends on another error, then the message is never surfaced. May also never surface
742         if it doesn't meet a threshold % of authentication frames specified by.
743         config_face_help_msgs_defer_until_timeout_threshold. -->
744    <integer-array name="config_face_help_msgs_defer_until_timeout">
745    </integer-array>
746
747    <!-- Which face help messages to ignore when determining the % of frames that meet
748         config_face_help_msgs_defer_until_timeout_threshold -->
749    <integer-array name="config_face_help_msgs_ignore">
750        <item>20</item> <!-- FACE_ACQUIRED_START -->
751        <item>23</item> <!-- FACE_ACQUIRED_UNKNOWN -->
752        <item>24</item> <!-- FACE_ACQUIRED_FIRST_FRAME_RECEIVED -->
753    </integer-array>
754
755    <!-- Percentage of face auth frames received required to show a deferred message at
756         FACE_ERROR_TIMEOUT. See config_face_help_msgs_defer_until_timeout for messages
757         that are deferred.-->
758    <item name="config_face_help_msgs_defer_until_timeout_threshold"
759          translatable="false" format="float" type="dimen">
760        .75
761    </item>
762
763    <!-- The last x ms of face acquired info messages to analyze to determine
764         whether to show a deferred face auth help message. -->
765    <integer name="config_face_help_msgs_defer_analyze_timeframe">500</integer>
766
767    <!-- Which face help messages to surface when fingerprint is also enrolled.
768         Message ids correspond with the acquired ids in BiometricFaceConstants -->
769    <integer-array name="config_face_help_msgs_when_fingerprint_enrolled">
770        <item>3</item> <!-- TOO_DARK -->
771        <item>25</item> <!-- DARK_GLASSES -->
772        <item>26</item> <!-- MOUTH_COVERING_DETECTED -->
773    </integer-array>
774
775    <!-- Which face help messages to surface when fingerprint is enrolled and device is unfolded.
776     Message ids correspond with the acquired ids in BiometricFaceConstants -->
777    <integer-array name="config_face_help_msgs_when_fingerprint_enrolled_unfolded">
778        <item>3</item> <!-- TOO_DARK -->
779        <item>4</item> <!-- TOO_CLOSE -->
780        <item>5</item> <!-- TOO_FAR -->
781        <item>6</item> <!-- TOO_HIGH -->
782        <item>7</item> <!-- TOO_LOW -->
783        <item>8</item> <!-- TOO_RIGHT -->
784        <item>9</item> <!-- TOO_LEFT -->
785        <item>25</item> <!-- DARK_GLASSES -->
786        <item>26</item> <!-- MOUTH_COVERING_DETECTED -->
787    </integer-array>
788
789    <!-- Which device wake-ups will trigger passive auth. These values correspond with
790         PowerManager#WakeReason. -->
791    <integer-array name="config_face_auth_wake_up_triggers">
792        <item>1</item> <!-- WAKE_REASON_POWER_BUTTON -->
793        <item>4</item> <!-- WAKE_REASON_GESTURE -->
794        <item>6</item> <!-- WAKE_REASON_WAKE_KEY -->
795        <item>7</item> <!-- WAKE_REASON_WAKE_MOTION -->
796        <item>9</item> <!-- WAKE_REASON_LID -->
797        <item>12</item> <!-- WAKE_REASON_UNFOLD_DEVICE -->
798        <item>15</item> <!-- WAKE_REASON_TAP -->
799        <item>16</item> <!-- WAKE_REASON_LIFT -->
800        <item>17</item> <!-- WAKE_REASON_BIOMETRIC -->
801    </integer-array>
802
803    <!-- Whether to support posture listening for face auth, default is 0(DEVICE_POSTURE_UNKNOWN)
804         means systemui will try listening on all postures.
805         0 : DEVICE_POSTURE_UNKNOWN
806         1 : DEVICE_POSTURE_CLOSED
807         2 : DEVICE_POSTURE_HALF_OPENED
808         3 : DEVICE_POSTURE_OPENED
809         4 : DEVICE_POSTURE_FLIPPED
810    -->
811    <integer name="config_face_auth_supported_posture">0</integer>
812
813    <!-- Components to allow running fingerprint listening if their activity is occluding the lock screen. -->
814    <string-array name="config_fingerprint_listen_on_occluding_activity_packages" translatable="false">
815    </string-array>
816
817    <!-- Whether the communal service should be enabled -->
818    <bool name="config_communalServiceEnabled">false</bool>
819
820    <!-- Name of the database that stores info of widgets shown on glanceable hub -->
821    <string name="config_communalDatabase" translatable="false">communal_db</string>
822    <!-- Component names of allowed communal widgets -->
823    <string-array name="config_communalWidgetAllowlist" translatable="false" />
824
825    <!-- Component name of communal source service -->
826    <string name="config_communalSourceComponent" translatable="false">@null</string>
827
828    <!-- This value is used when calculating whether the device is in ambient light mode. It is
829        light mode when the light sensor sample value exceeds above this value. -->
830    <item name="config_ambientLightModeThreshold" translatable="false" format="float" type="dimen">
831        0.8
832    </item>
833
834    <!-- This value is used when calculating whether the device is in ambient dark mode. It is
835        dark mode when the light sensor sample value drops below this value. -->
836    <item name="config_ambientDarkModeThreshold" translatable="false" format="float" type="dimen">
837        0.4
838    </item>
839
840    <!-- This value is used when calculating whether the device is in ambient light mode. Each
841        sample contains light sensor events from this span of time duration. -->
842    <integer name="config_ambientLightModeSamplingSpanMillis">10000</integer>
843
844    <!-- This value is used when calculating whether the device is in ambient dark mode. Each
845    sample contains light sensor events from this span of time duration. -->
846    <integer name="config_ambientDarkModeSamplingSpanMillis">2000</integer>
847
848    <!-- This value is used when calculating whether the device is in ambient light mode. The
849        samples are collected at this frequency. -->
850    <integer name="config_ambientLightModeSamplingFrequencyMillis">1000</integer>
851
852    <!-- This value is used when calculating whether the device is in ambient dark mode. The
853    samples are collected at this frequency. -->
854    <integer name="config_ambientDarkModeSamplingFrequencyMillis">500</integer>
855
856    <!-- The maximum number of attempts to reconnect to the communal source target after failing
857         to connect -->
858    <integer name="config_communalSourceMaxReconnectAttempts">10</integer>
859
860    <!-- The initial amount of time (in milliseconds) before attempting to reconnect to a communal
861         source. This value is used as the base value in an exponential backoff in subsequent
862         attempts. -->
863    <integer name="config_communalSourceReconnectBaseDelay">1000</integer>
864
865    <!-- The minimum time in milliseconds for a connection to be considered connected. Any time -->
866    <integer name="config_connectionMinDuration">1000</integer>
867
868    <!-- Flag to activate notification to contents feature -->
869    <bool name="config_notificationToContents">false</bool>
870
871    <!-- The rounded corner drawable for each display in a multi-display device.
872         {@see com.android.internal.R.array#config_displayUniqueIdArray} -->
873    <array name="config_roundedCornerDrawableArray">
874        <item>@drawable/rounded</item>
875        <item>@drawable/rounded_secondary</item>
876    </array>
877
878    <!-- The top rounded corner drawable for each display in a multi-display device.
879         {@see com.android.internal.R.array#config_displayUniqueIdArray} -->
880    <array name="config_roundedCornerTopDrawableArray">
881        <item>@drawable/rounded_corner_top</item>
882        <item>@drawable/rounded_corner_top_secondary</item>
883    </array>
884
885    <!-- The bottom rounded corner drawable for each display in a multi-display device.
886         {@see com.android.internal.R.array#config_displayUniqueIdArray} -->
887    <array name="config_roundedCornerBottomDrawableArray">
888        <item>@drawable/rounded_corner_bottom</item>
889        <item>@drawable/rounded_corner_bottom_secondary</item>
890    </array>
891
892    <!-- Flag to enable privacy dot views, it shall be true for normal case -->
893    <bool name="config_enablePrivacyDot">true</bool>
894
895    <!-- Flag to enable privacy chip animation, it shall be true for normal case -->
896    <bool name="config_enablePrivacyChipAnimation">true</bool>
897
898    <!-- Class for the communal source connector to be used -->
899    <string name="config_communalSourceConnector" translatable="false"></string>
900
901    <!-- How often in milliseconds to jitter the dream overlay in order to avoid burn-in. -->
902    <integer name="config_dreamOverlayBurnInProtectionUpdateIntervalMillis">1000</integer>
903
904    <!-- How long in milliseconds before full burn-in protection is achieved. -->
905    <integer name="config_dreamOverlayMillisUntilFullJitter">240000</integer>
906
907    <integer name="complicationFadeOutMs">500</integer>
908
909    <integer name="complicationFadeInMs">500</integer>
910
911    <integer name="complicationRestoreMs">1000</integer>
912
913    <integer name="complicationFadeOutDelayMs">200</integer>
914
915    <!-- Duration in milliseconds of the dream in un-blur animation. -->
916    <integer name="config_dreamOverlayInBlurDurationMs">250</integer>
917    <!-- Duration in milliseconds of the dream in complications fade-in animation. -->
918    <integer name="config_dreamOverlayInComplicationsDurationMs">250</integer>
919    <!-- Duration in milliseconds of the y-translation animation when entering a dream -->
920    <integer name="config_dreamOverlayInTranslationYDurationMs">1167</integer>
921
922    <!-- Delay in milliseconds before switching to the dock user and dreaming if a secondary user is
923    active when the device is locked and docked. 0 indicates disabled. Default is 1 minute. -->
924    <integer name="config_defaultDockUserTimeoutMs">60000</integer>
925
926    <!-- Icons that don't show in a collapsed non-keyguard statusbar -->
927    <string-array name="config_collapsed_statusbar_icon_blocklist" translatable="false">
928        <item>@*android:string/status_bar_volume</item>
929        <item>@*android:string/status_bar_alarm_clock</item>
930        <item>@*android:string/status_bar_call_strength</item>
931    </string-array>
932
933    <!-- Icons that don't show in a collapsed statusbar on keyguard -->
934    <string-array name="config_keyguard_statusbar_icon_blocklist" translatable="false">
935        <item>@*android:string/status_bar_volume</item>
936        <item>@*android:string/status_bar_alarm_clock</item>
937        <item>@*android:string/status_bar_call_strength</item>
938    </string-array>
939
940    <!-- Packages of SystemUI -->
941    <string-array name="system_ui_packages" translatable="false">
942        <item>com.android.keyguard</item>
943        <item>com.android.systemui</item>
944    </string-array>
945
946    <!-- Whether the device should display hotspot UI. If true, UI will display only when tethering
947         is available. If false, UI will never show regardless of tethering availability" -->
948    <bool name="config_show_wifi_tethering">true</bool>
949
950    <!-- A collection of "slots" for placing quick affordance actions on the lock screen when the
951    device is locked. Each item is a string consisting of two parts, separated by the ':' character.
952    The first part is the unique ID for the slot, it is not a human-visible name, but should still
953    be unique across all slots specified. The second part is the capacity and must be a positive
954    integer; this is how many quick affordance actions that user is allowed to add to the slot. -->
955    <string-array name="config_keyguardQuickAffordanceSlots" translatable="false">
956        <item>bottom_start:1</item>
957        <item>bottom_end:1</item>
958    </string-array>
959
960    <!-- A collection of defaults for the quick affordances on the lock screen. Each item must be a
961    string with two parts: the ID of the slot and the comma-delimited list of affordance IDs,
962    separated by a colon ':' character. For example: <item>bottom_end:home,wallet</item>. The
963    default is displayed by System UI as long as the user hasn't made a different choice for that
964    slot. If the user did make a choice, even if the choice is the "None" option, the default is
965    ignored. -->
966    <string-array name="config_keyguardQuickAffordanceDefaults" translatable="false">
967        <item>bottom_start:home</item>
968        <item>bottom_end:wallet</item>
969    </string-array>
970
971    <!-- Package name for the app that implements the wallpaper picker. -->
972    <string name="config_wallpaperPickerPackage" translatable="false">
973        com.android.wallpaper
974    </string>
975
976    <!-- Whether the floating rotation button should be on the left/right in the device's natural
977         orientation -->
978    <bool name="floating_rotation_button_position_left">true</bool>
979
980    <!-- Configuration to set Learn more in device logs as URL link -->
981    <bool name="log_access_confirmation_learn_more_as_link">true</bool>
982
983    <!-- [START] MULTI SHADE -->
984    <!-- Whether the device should use dual shade. If false, the device uses single shade. -->
985    <bool name="dual_shade_enabled">true</bool>
986    <!--
987    When in dual shade, where should the horizontal split be on the screen to help determine whether
988    the user is pulling down the left shade or the right shade. Must be between 0.0 and 1.0,
989    inclusive. In other words: how much of the left-hand side of the screen, when pulled down on,
990    would reveal the left-hand side shade.
991
992    More concretely:
993    A value of 0.67 means that the left two-thirds of the screen are dedicated to the left-hand side
994    shade and the remaining one-third of the screen on the right is dedicated to the right-hand side
995    shade.
996    -->
997    <dimen name="dual_shade_split_fraction">0.67</dimen>
998    <!-- Width of the left-hand side shade. -->
999    <dimen name="left_shade_width">436dp</dimen>
1000    <!-- Width of the right-hand side shade. -->
1001    <dimen name="right_shade_width">436dp</dimen>
1002    <!--
1003    Opaque version of the scrim that shows up behind dual shades. The alpha channel is driven
1004    programmatically.
1005    -->
1006    <color name="opaque_scrim">#D9D9D9</color>
1007    <!-- Maximum opacity when the scrim that shows up behind the dual shades is fully visible. -->
1008    <dimen name="dual_shade_scrim_alpha">0.1</dimen>
1009    <!--
1010    The amount that the user must swipe down when the shade is fully collapsed to automatically
1011    expand once the user lets go of the shade. If the user swipes less than this amount, the shade
1012    will automatically revert back to fully collapsed once the user stops swiping.
1013    -->
1014    <dimen name="shade_swipe_expand_threshold">0.5</dimen>
1015    <!--
1016    The amount that the user must swipe up when the shade is fully expanded to automatically
1017    collapse once the user lets go of the shade. If the user swipes less than this amount, the shade
1018    will automatically revert back to fully expanded once the user stops swiping.
1019    -->
1020    <dimen name="shade_swipe_collapse_threshold">0.5</dimen>
1021    <!-- [END] MULTI SHADE -->
1022
1023    <!-- Time (in ms) to delay the bouncer views from showing when passive auth may be used for
1024    device entry. -->
1025    <integer name="primary_bouncer_passive_auth_delay">500</integer>
1026
1027    <!--
1028    The package name of the app store app. If empty, features using this should be gracefully
1029    disabled.
1030    -->
1031    <string name="config_appStorePackageName" translatable="false"></string>
1032
1033    <!-- Template for a link that leads to an app page in the relevant app store. If empty,
1034    features using this should be gracefully disabled. If not empty, it must include a
1035    "$packageName" part that will be replaced by the code with the package name of the target app.
1036    -->
1037    <string name="config_appStoreAppLinkTemplate" translatable="false"></string>
1038
1039    <!-- Flag controlling whether visual query attention detection has been enabled. -->
1040    <bool name="config_enableVisualQueryAttentionDetection">false</bool>
1041
1042    <!-- Whether to show bottom sheets edge to edge -->
1043    <bool name="config_edgeToEdgeBottomSheetDialog">true</bool>
1044
1045    <!-- Device specific config that controls whether rest to unlock feature is supported.  -->
1046    <bool name="config_restToUnlockSupported">false</bool>
1047
1048    <!--
1049    Time in milliseconds the user has to touch the side FPS sensor to successfully authenticate when
1050    the screen is turned off with AOD not enabled.
1051    TODO(b/302332976) Get this value from the HAL if they can provide an API for it.
1052    -->
1053    <integer name="config_restToUnlockDurationScreenOff">500</integer>
1054    <!--
1055    Time in milliseconds the user has to touch the side FPS sensor to successfully authenticate
1056    TODO(b/302332976) Get this value from the HAL if they can provide an API for it.
1057    -->
1058    <integer name="config_restToUnlockDurationDefault">300</integer>
1059
1060    <!--
1061    Width in pixels of the Side FPS sensor.
1062    -->
1063    <integer name="config_sfpsSensorWidth">200</integer>
1064
1065    <!-- Component name for Home Panel Dream -->
1066    <string name="config_homePanelDreamComponent" translatable="false">
1067        com.android.systemui/com.android.systemui.dreams.homecontrols.HomeControlsDreamService
1068    </string>
1069
1070    <!--
1071    They are service names that, if enabled, will cause the magnification settings button
1072    to never hide after timeout.
1073    -->
1074    <string-array name="services_always_show_magnification_settings" translatable="false">
1075        <item>com.android.switchaccess.SwitchAccessService</item>
1076        <item>com.google.android.apps.accessibility.voiceaccess.JustSpeakService</item>
1077    </string-array>
1078
1079    <!--  Whether to use a machine learning model for back gesture falsing. -->
1080    <bool name="config_useBackGestureML">true</bool>
1081
1082    <!-- Whether volume panel should use the large screen layout or not -->
1083    <bool name="volume_panel_is_large_screen">false</bool>
1084
1085    <!-- The width of the shortcut helper container, as a fraction of the screen's width. -->
1086    <item name="shortcut_helper_screen_width_fraction" format="float" type="dimen">1.0</item>
1087
1088    <!-- List of packages for which we want to use activity info (instead of application info) for biometric prompt logo. Empty for AOSP. [DO NOT TRANSLATE] -->
1089    <string-array name="config_useActivityLogoForBiometricPrompt" translatable="false"/>
1090
1091    <!--
1092    Whether to enable the desktop specific feature set.
1093
1094    Refrain from using this from code that needs to make decisions
1095    regarding the size or density of the display.
1096
1097    Variant owners and OEMs should override this to true when they want to
1098    enable the desktop specific features.
1099    -->
1100    <bool name="config_enableDesktopFeatureSet">false</bool>
1101
1102    <!--
1103    Whether the user switching can only happen by logging out and going through the system user (login screen).
1104    -->
1105    <bool name="config_userSwitchingMustGoThroughLoginScreen">false</bool>
1106</resources>
1107