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    <!-- Whether recents should use hardware layers for its taskviews. This flag can be enabled
24    for devices where the java drawing of round rects may be slow -->
25    <bool name="config_recents_use_hardware_layers">false</bool>
26
27    <!-- The number of app thumbnails we keep in memory -->
28    <integer name="config_recents_max_thumbnail_count">10</integer>
29
30    <!-- The number of app icons we keep in memory -->
31    <integer name="config_recents_max_icon_count">20</integer>
32
33    <!-- Whether to use cheap, less good looking shadows for recents -->
34    <bool name="config_recents_fake_shadows">false</bool>
35
36    <!-- Whether to clip notification contents with a rounded rectangle. Might be expensive on
37         certain GPU's and thus can be turned off with only minimal visual impact. -->
38    <bool name="config_notifications_round_rect_clipping">true</bool>
39
40    <!-- Control whether status bar should distinguish HSPA data icon form UMTS
41    data icon on devices -->
42    <bool name="config_hspa_data_distinguishable">false</bool>
43
44    <!-- Component to be used as the status bar service.  Must implement the IStatusBar
45     interface.  This name is in the ComponentName flattened format (package/class)  -->
46    <string name="config_statusBarComponent" translatable="false">com.android.systemui.statusbar.phone.StatusBar</string>
47
48    <!-- Whether or not we show the number in the bar. -->
49    <bool name="config_statusBarShowNumber">false</bool>
50
51    <!-- Vibrator pattern for camera gesture launch. -->
52    <integer-array translatable="false" name="config_cameraLaunchGestureVibePattern">
53        <item>0</item>
54        <item>400</item>
55    </integer-array>
56
57    <!-- How many icons may be shown at once in the system bar. Includes any
58         slots that may be reused for things like IME control. -->
59    <integer name="config_maxNotificationIcons">5</integer>
60
61    <!-- Show phone (voice) signal strength instead of data in mobile RSSI. -->
62    <bool name="config_showPhoneRSSIForData">false</bool>
63
64    <!-- When true, show 1/2G networks as 3G. -->
65    <bool name="config_showMin3G">false</bool>
66
67    <!-- Show rotation lock toggle in System UI-->
68    <bool name="config_showRotationLock">true</bool>
69
70    <!-- Vibration duration for GlowPadView used in SearchPanelView -->
71    <integer translatable="false" name="config_vibration_duration">0</integer>
72
73    <!-- Vibration duration for GlowPadView used in SearchPanelView -->
74    <integer translatable="false" name="config_search_panel_view_vibration_duration">20</integer>
75
76    <!-- Show mic or phone affordance on Keyguard -->
77    <bool name="config_keyguardShowLeftAffordance">false</bool>
78
79    <!-- Show camera affordance on Keyguard -->
80    <bool name="config_keyguardShowCameraAffordance">false</bool>
81
82    <!-- Whether we should use SRC drawing mode when drawing the scrim behind. If this flag is set,
83         we change the canvas opacity so libhwui doesn't call glClear on our surface, and then we
84         draw the scrim with SRC to overwrite the whole buffer, which saves us a layer of overdraw.
85         However, SRC performs poorly on some devices, where it is more efficient to
86         glClear + SRC_OVER, in which case this flag should be disabled. -->
87    <bool name="config_status_bar_scrim_behind_use_src">true</bool>
88
89    <!-- The length of the vibration when the notification pops open. -->
90    <integer name="one_finger_pop_duration_ms">10</integer>
91
92    <!-- decay duration (from size_max -> size), in ms -->
93    <integer name="navigation_bar_deadzone_hold">333</integer>
94    <integer name="navigation_bar_deadzone_decay">333</integer>
95
96    <!-- orientation of the dead zone when touches have recently occurred elsewhere on screen -->
97    <integer name="navigation_bar_deadzone_orientation">0</integer>
98
99    <bool name="config_dead_zone_flash">false</bool>
100
101    <!-- Whether to enable dimming navigation buttons when wallpaper is not visible, should be
102         enabled for OLED devices to reduce/prevent burn in on the navigation bar (because of the
103         black background and static button placements) and disabled for all other devices to
104         prevent wasting cpu cycles on the dimming animation -->
105    <bool name="config_navigation_bar_enable_auto_dim_no_visible_wallpaper">true</bool>
106
107    <!-- Whether QuickSettings is in a phone landscape -->
108    <bool name="quick_settings_wide">false</bool>
109
110    <!-- The number of columns in the QuickSettings -->
111    <integer name="quick_settings_num_columns">3</integer>
112
113    <!-- The number of rows in the QuickSettings -->
114    <integer name="quick_settings_num_rows">1</integer>
115
116    <!-- The number of columns that the top level tiles span in the QuickSettings -->
117    <integer name="quick_settings_user_time_settings_tile_span">1</integer>
118
119    <!-- The default tiles to display in QuickSettings -->
120    <string name="quick_settings_tiles_default" translatable="false">
121        wifi,bt,dnd,flashlight,rotation,battery,cell,airplane,cast
122    </string>
123
124    <!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" -->
125    <string name="quick_settings_tiles_stock" translatable="false">
126        wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,location,hotspot,inversion,saver,work,cast,night
127    </string>
128
129    <!-- The tiles to display in QuickSettings -->
130    <string name="quick_settings_tiles" translatable="false">default</string>
131
132    <!-- The tiles to display in QuickSettings in retail mode -->
133    <string name="quick_settings_tiles_retail_mode" translatable="false">
134        cell,battery,dnd,flashlight,rotation,location
135    </string>
136
137    <!-- Whether or not the RSSI tile is capitalized or not. -->
138    <bool name="quick_settings_rssi_tile_capitalization">true</bool>
139
140    <!-- Timeouts for brightness dialog to disappear -->
141    <integer name="quick_settings_brightness_dialog_short_timeout">2000</integer>
142    <integer name="quick_settings_brightness_dialog_long_timeout">4000</integer>
143
144    <!-- Should "4G" be shown instead of "LTE" when the network is NETWORK_TYPE_LTE? -->
145    <bool name="config_show4GForLTE">true</bool>
146
147    <!-- Should "LTE"/"4G" be shown instead of "LTE+"/"4G+" when on NETWORK_TYPE_LTE_CA? -->
148    <bool name="config_hideLtePlus">false</bool>
149
150    <!-- milliseconds before the heads up notification auto-dismisses. -->
151    <integer name="heads_up_notification_decay">5000</integer>
152
153    <!-- milliseconds after a heads up notification is pushed back
154     before the app can interrupt again. -->
155    <integer name="heads_up_default_snooze_length_ms">60000</integer>
156
157    <!-- Minimum display time for a heads up notification, in milliseconds. -->
158    <integer name="heads_up_notification_minimum_time">2000</integer>
159
160    <!-- milliseconds before the heads up notification accepts touches. -->
161    <integer name="touch_acceptance_delay">700</integer>
162
163    <!-- The duration in seconds to wait before the dismiss buttons are shown. -->
164    <integer name="recents_task_bar_dismiss_delay_seconds">1000</integer>
165
166    <!-- The duration for animating the task decorations in after transitioning from an app. -->
167    <integer name="recents_task_enter_from_app_duration">200</integer>
168
169    <!-- The duration for animating the task decorations in after transitioning from an app. -->
170    <integer name="recents_task_enter_from_affiliated_app_duration">125</integer>
171
172    <!-- The duration for animating the task decorations out before transitioning to an app. -->
173    <integer name="recents_task_exit_to_app_duration">125</integer>
174
175    <!-- The min animation duration for animating the nav bar scrim in. -->
176    <integer name="recents_nav_bar_scrim_enter_duration">400</integer>
177
178    <!-- The animation duration for scrolling the stack to a particular item. -->
179    <integer name="recents_animate_task_stack_scroll_duration">200</integer>
180
181    <!-- The delay to enforce between each alt-tab key press. -->
182    <integer name="recents_alt_tab_key_delay">200</integer>
183
184    <!-- Svelte specific logic, see RecentsConfiguration.SVELTE_* constants. -->
185    <integer name="recents_svelte_level">0</integer>
186
187    <!-- In multi-window, determines whether the stack where recents lives should grow from
188         the smallest position when being launched. -->
189    <bool name="recents_grow_in_multiwindow">true</bool>
190
191    <!-- Animation duration when using long press on recents to dock -->
192    <integer name="long_press_dock_anim_duration">250</integer>
193
194    <!-- Recents: The relative range of visible tasks from the current scroll position
195         while the stack is focused. -->
196    <item name="recents_layout_focused_range_min" format="float" type="integer">-3</item>
197    <item name="recents_layout_focused_range_max" format="float" type="integer">2</item>
198
199    <!-- Recents: The relative range of visible tasks from the current scroll position
200         while the stack is not focused. -->
201    <item name="recents_layout_unfocused_range_min" format="float" type="integer">-2</item>
202    <item name="recents_layout_unfocused_range_max" format="float" type="integer">2.5</item>
203
204    <!-- Whether to enable KeyguardService or not -->
205    <bool name="config_enableKeyguardService">true</bool>
206
207    <!-- The maximum count of notifications on Keyguard. The rest will be collapsed in an overflow
208     card. -->
209    <integer name="keyguard_max_notification_count">3</integer>
210
211    <!-- Defines the implementation of the velocity tracker to be used for the panel expansion. Can
212         be 'platform' or 'noisy' (i.e. for noisy touch screens). -->
213    <string name="velocity_tracker_impl" translatable="false">platform</string>
214
215    <!-- Set to true to enable the user switcher on the keyguard. -->
216    <bool name="config_keyguardUserSwitcher">false</bool>
217
218    <!-- Doze: does this device support STATE_DOZE?  -->
219    <bool name="doze_display_state_supported">false</bool>
220
221    <!-- Doze: does this device support STATE_DOZE_SUSPEND?  -->
222    <bool name="doze_suspend_display_state_supported">false</bool>
223
224    <!-- Doze: should the significant motion sensor be used as a pulse signal? -->
225    <bool name="doze_pulse_on_significant_motion">false</bool>
226
227    <!-- Doze: check proximity sensor before pulsing? -->
228    <bool name="doze_proximity_check_before_pulse">true</bool>
229
230    <!-- Doze: should notifications be used as a pulse signal? -->
231    <bool name="doze_pulse_on_notifications">true</bool>
232
233    <!-- Doze: duration to avoid false pickup gestures triggered by notification vibrations -->
234    <integer name="doze_pickup_vibration_threshold">2000</integer>
235
236    <!-- Doze: can we assume the pickup sensor includes a proximity check?
237         This is ignored if doze_pickup_subtype_performs_proximity_check is not empty.
238         @deprecated: use doze_pickup_subtype_performs_proximity_check instead.-->
239    <bool name="doze_pickup_performs_proximity_check">false</bool>
240
241    <!-- Doze: a list of pickup sensor subtypes that perform a proximity check before they trigger.
242               If not empty, either * or !* must appear to specify the default.
243               If empty, falls back to doze_pickup_performs_proximity_check.
244
245               Examples: 1,2,3,!* -> subtypes 1,2 and 3 perform the check, all others don't.
246                         !1,!2,*  -> subtypes 1 and 2 don't perform the check, all others do.
247                         !8,*     -> subtype 8 does not perform the check, all others do
248                         1,1,*    -> illegal, every item may only appear once
249                         1,!1,*   -> illegal, no contradictions allowed
250                         1,2      -> illegal, need either * or !*
251                         1,,4a3   -> illegal, no empty or non-numeric terms allowed
252    -->
253    <string name="doze_pickup_subtype_performs_proximity_check"></string>
254
255    <!-- Type of a sensor that provides a low-power estimate of the desired display
256         brightness, suitable to listen to while the device is asleep (e.g. during
257         always-on display) -->
258    <string name="doze_brightness_sensor_type" translatable="false"></string>
259
260    <!-- Doze: pulse parameter - how long does it take to fade in? -->
261    <integer name="doze_pulse_duration_in">130</integer>
262
263    <!-- Doze: pulse parameter - once faded in, how long does it stay visible? -->
264    <integer name="doze_pulse_duration_visible">6000</integer>
265
266    <!-- Doze: pulse parameter - how long does it take to fade out? -->
267    <integer name="doze_pulse_duration_out">600</integer>
268
269    <!-- Doze: alpha to apply to small icons when dozing -->
270    <integer name="doze_small_icon_alpha">222</integer><!-- 87% of 0xff -->
271
272    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
273               to brightness values; -1 means keeping the current brightness. -->
274    <integer-array name="config_doze_brightness_sensor_to_brightness">
275        <item>-1</item> <!-- 0: OFF -->
276        <item>2</item> <!-- 1: NIGHT -->
277        <item>5</item> <!-- 2: LOW -->
278        <item>27</item> <!-- 3: HIGH -->
279        <item>28</item> <!-- 4: SUN -->
280    </integer-array>
281
282    <!-- Doze: Table that translates sensor values from the doze_brightness_sensor_type sensor
283               to an opacity value for a black scrim that is overlayed in AOD1.
284               Valid range is from 0 (transparent) to 255 (opaque).
285               -1 means keeping the current opacity. -->
286    <integer-array name="config_doze_brightness_sensor_to_scrim_opacity">
287        <item>-1</item> <!-- 0: OFF -->
288        <item>0</item> <!-- 1: NIGHT -->
289        <item>0</item> <!-- 2: LOW -->
290        <item>0</item> <!-- 3: HIGH -->
291        <item>0</item> <!-- 4: SUN -->
292    </integer-array>
293
294    <!-- Doze: whether the double tap sensor reports 2D touch coordinates -->
295    <bool name="doze_double_tap_reports_touch_coordinates">false</bool>
296
297    <!-- Hotspot tile: number of days to show after feature is used. -->
298    <integer name="days_to_show_hotspot_tile">30</integer>
299
300    <!-- Color inversion tile: number of days to show after feature is used. -->
301    <integer name="days_to_show_color_inversion_tile">7</integer>
302
303    <!-- Number of times to show the strong alarm warning text in the volume dialog -->
304    <integer name="zen_mode_alarm_warning_threshold">5</integer>
305
306    <!-- Maximum number of total conditions to display in the zen mode selection panel -->
307    <integer name="zen_mode_max_conditions">5</integer>
308
309    <!-- Enable the default volume dialog -->
310    <bool name="enable_volume_ui">true</bool>
311
312    <!-- Enable the default volume level warning dialog -->
313    <bool name="enable_safety_warning">true</bool>
314
315    <!-- Whether to show operator name in the status bar -->
316    <bool name="config_showOperatorNameInStatusBar">false</bool>
317
318    <!-- Duration of the full carrier network change icon animation. -->
319    <integer name="carrier_network_change_anim_time">3000</integer>
320
321    <!-- Duration of the expansion animation in the volume dialog -->
322    <item name="volume_expand_animation_duration" type="integer">300</item>
323
324    <!-- Whether to show the full screen user switcher. -->
325    <bool name="config_enableFullscreenUserSwitcher">false</bool>
326
327    <!-- SystemUIFactory component -->
328    <string name="config_systemUIFactoryComponent" translatable="false">com.android.systemui.SystemUIFactory</string>
329
330    <!-- SystemUI Services: The classes of the stuff to start. -->
331    <string-array name="config_systemUIServiceComponents" translatable="false">
332        <item>com.android.systemui.Dependency</item>
333        <item>com.android.systemui.util.NotificationChannels</item>
334        <item>com.android.systemui.statusbar.CommandQueue$CommandQueueStart</item>
335        <item>com.android.systemui.keyguard.KeyguardViewMediator</item>
336        <item>com.android.systemui.recents.Recents</item>
337        <item>com.android.systemui.volume.VolumeUI</item>
338        <item>com.android.systemui.stackdivider.Divider</item>
339        <item>com.android.systemui.SystemBars</item>
340        <item>com.android.systemui.usb.StorageNotification</item>
341        <item>com.android.systemui.power.PowerUI</item>
342        <item>com.android.systemui.media.RingtonePlayer</item>
343        <item>com.android.systemui.keyboard.KeyboardUI</item>
344        <item>com.android.systemui.pip.PipUI</item>
345        <item>com.android.systemui.shortcut.ShortcutKeyDispatcher</item>
346        <item>@string/config_systemUIVendorServiceComponent</item>
347        <item>com.android.systemui.util.leak.GarbageMonitor$Service</item>
348        <item>com.android.systemui.LatencyTester</item>
349        <item>com.android.systemui.globalactions.GlobalActionsComponent</item>
350        <item>com.android.systemui.ScreenDecorations</item>
351        <item>com.android.systemui.fingerprint.FingerprintDialogImpl</item>
352        <item>com.android.systemui.SliceBroadcastRelayHandler</item>
353    </string-array>
354
355    <!-- SystemUI vender service, used in config_systemUIServiceComponents. -->
356    <string name="config_systemUIVendorServiceComponent" translatable="false">com.android.systemui.VendorServices</string>
357
358    <!-- SystemUI Services (per user): The classes of the stuff to start for each user. This is a subset of the config_systemUIServiceComponents -->
359    <string-array name="config_systemUIServiceComponentsPerUser" translatable="false">
360        <item>com.android.systemui.Dependency</item>
361        <item>com.android.systemui.util.NotificationChannels</item>
362        <item>com.android.systemui.recents.Recents</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
369    <bool name="quick_settings_show_full_alarm">false</bool>
370
371    <!-- Whether to show a warning notification when the device reaches a certain temperature. -->
372    <integer name="config_showTemperatureWarning">0</integer>
373
374    <!-- Temp at which to show a warning notification if config_showTemperatureWarning is true.
375         If < 0, uses the skin temperature sensor shutdown value from
376         HardwarePropertiesManager#getDeviceTemperatures - config_warningTemperatureTolerance. -->
377    <integer name="config_warningTemperature">-1</integer>
378
379    <!-- Fudge factor for how much below the shutdown temp to show the warning. -->
380    <integer name="config_warningTemperatureTolerance">2</integer>
381
382    <!-- Accessibility actions -->
383    <item type="id" name="action_split_task_to_left" />
384    <item type="id" name="action_split_task_to_right" />
385    <item type="id" name="action_split_task_to_top" />
386
387    <item type="id" name="action_toggle_overview"/>
388
389    <!-- Whether or not the gear icon on notifications should be shown. The gear is shown when the
390         the notification is not swiped enough to dismiss it. -->
391    <bool name="config_showNotificationGear">true</bool>
392
393    <!-- Whether or not a background should be drawn behind a notification. -->
394    <bool name="config_drawNotificationBackground">true</bool>
395
396    <!-- Whether or the notifications can be shown and dismissed with a drag. -->
397    <bool name="config_enableNotificationShadeDrag">true</bool>
398
399    <!-- Whether to show activity indicators in the status bar -->
400    <bool name="config_showActivity">false</bool>
401
402    <!-- Whether or not the button to clear all notifications will be shown. -->
403    <bool name="config_enableNotificationsClearAll">true</bool>
404
405    <!-- Whether or not to show the notification shelf that houses the icons of notifications that
406     have been scrolled off-screen. -->
407    <bool name="config_showNotificationShelf">true</bool>
408
409    <!-- Whether or not the notifications should always fade as they are dismissed. -->
410    <bool name="config_fadeNotificationsOnDismiss">false</bool>
411
412    <!-- Whether or not the parent of the notification row itself is being translated when swiped or
413         its children views. If true, then the contents are translated and vice versa. -->
414    <bool name="config_translateNotificationContentsOnSwipe">true</bool>
415
416    <!-- Whether or not the fade on the notification is based on the amount that it has been swiped
417         off-screen. -->
418    <bool name="config_fadeDependingOnAmountSwiped">false</bool>
419
420    <!-- Whether or not to show the expand button at the end of the notification header. -->
421    <bool name="config_showNotificationExpandButtonAtEnd">false</bool>
422
423    <!-- Whether or the notifications should be clipped to be reduced in height if it has been
424         scrolled to the top of the screen. -->
425    <bool name="config_clipNotificationScrollToTop">true</bool>
426
427    <!-- Whether or not the notification contents should be clipped to any background that is
428         set on the notification container. For example, if this value is true and the background
429         has rounded corners, then the contents will be clipped to those corners. -->
430    <bool name="config_clipNotificationsToOutline">false</bool>
431
432    <!-- Whether or not notifications that can be expanded will always be in their expanded state.
433         This value only affects notifications that are not a group of notifications from the same
434         applications. If this value is false, then only the first notification will be expanded;
435         the other notifications need to be manually expanded by the user. -->
436    <bool name="config_alwaysExpandNonGroupedNotifications">false</bool>
437
438    <!-- Whether or not an expandable notification can be manually expanded or collapsed by the
439         user. Grouped notifications are still expandable even if this value is false. -->
440    <bool name="config_enableNonGroupedNotificationExpand">true</bool>
441
442    <!-- Whether or not there should be dividing lines between child notifications when the
443         group has been expanded. -->
444    <bool name="config_showDividersWhenGroupNotificationExpanded">false</bool>
445
446    <!-- Whether or not the dividing lines should be shown when the container is expanding and
447         collapsing. If this value is true, then the lines will only show when the container has
448         been completely expanded. -->
449    <bool name="config_hideDividersDuringExpand">false</bool>
450
451    <!-- Whether or not child notifications that are part of a group will have shadows. -->
452    <bool name="config_enableShadowOnChildNotifications">true</bool>
453
454    <!-- Whether or not a view containing child notifications will have a custom background when
455         it has been expanded to reveal its children. -->
456    <bool name="config_showGroupNotificationBgWhenExpanded">false</bool>
457
458    <!-- Whether to artificially interpret all signal strengths as
459         one bar higher than they actually are -->
460    <bool name="config_inflateSignalStrength">false</bool>
461
462    <!-- Should we vibrate on an icon animation of the shelf. This should only be active if the
463     vibrator is capable of subtle vibrations -->
464    <bool name="config_vibrateOnIconAnimation">false</bool>
465
466    <!-- If true, enable the advance anti-falsing classifier on the lockscreen. On some devices it
467         does not work well, particularly with noisy touchscreens. Note that disabling it may
468         increase the rate of unintentional unlocks. -->
469    <bool name="config_lockscreenAntiFalsingClassifierEnabled">true</bool>
470
471    <!-- Snooze: default notificaiton snooze time. -->
472    <integer name="config_notification_snooze_time_default">60</integer>
473
474    <!-- Snooze: List of snooze values in integer minutes. -->
475    <integer-array name="config_notification_snooze_times">
476        <item>15</item>
477        <item>30</item>
478        <item>60</item>
479        <item>120</item>
480    </integer-array>
481
482    <!-- Smart replies in notifications: Whether smart replies in notifications are enabled. -->
483    <bool name="config_smart_replies_in_notifications_enabled">true</bool>
484
485    <!-- Smart replies in notifications: Whether we disable the feature unless the app targets P -->
486    <bool name="config_smart_replies_in_notifications_requires_targeting_p">true</bool>
487
488    <!-- Smart replies in notifications: Maximum number of times SmartReplyView will try to find a
489         better (narrower) line-break for a double-line smart reply button. -->
490    <integer name="config_smart_replies_in_notifications_max_squeeze_remeasure_attempts">3</integer>
491
492    <!-- Screenshot editing default activity.  Must handle ACTION_EDIT image/png intents.
493         Blank sends the user to the Chooser first.
494         This name is in the ComponentName flattened format (package/class)  -->
495    <string name="config_screenshotEditor" translatable="false"></string>
496
497    <!-- On debuggable builds, alert the user if SystemUI PSS goes over this number (in kb) -->
498    <integer name="watch_heap_limit">256000</integer>
499</resources>
500