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