1<?xml version="1.0" encoding="utf-8"?>
2<!--
3    Copyright (C) 2020 The Android Open Source Project
4
5    Licensed under the Apache License, Version 2.0 (the "License");
6    you may not use this file except in compliance with the License.
7    You may obtain a copy of the License at
8
9         http://www.apache.org/licenses/LICENSE-2.0
10
11    Unless required by applicable law or agreed to in writing, software
12    distributed under the License is distributed on an "AS IS" BASIS,
13    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14    See the License for the specific language governing permissions and
15    limitations under the License.
16-->
17<resources>
18    <!-- Determines whether the shell features all run on another thread. This is to be overrided
19         by the resources of the app using the Shell library. -->
20    <bool name="config_enableShellMainThread">false</bool>
21
22    <!-- Determines whether to register the shell task organizer on init.
23         TODO(b/238217847): This config is temporary until we refactor the base WMComponent. -->
24    <bool name="config_registerShellTaskOrganizerOnInit">true</bool>
25
26    <!-- Determines whether to register the shell transitions on init.
27         TODO(b/238217847): This config is temporary until we refactor the base WMComponent. -->
28    <bool name="config_registerShellTransitionsOnInit">true</bool>
29
30    <!-- Animation duration for PIP when entering. -->
31    <integer name="config_pipEnterAnimationDuration">425</integer>
32
33    <!-- Animation duration for PIP when exiting. -->
34    <integer name="config_pipExitAnimationDuration">250</integer>
35
36    <!-- Animation duration for resizing of PIP. -->
37    <integer name="config_pipResizeAnimationDuration">425</integer>
38
39    <!-- Animation duration for crossfading of PIP (specifically to fade out the layer on top). -->
40    <integer name="config_pipCrossfadeAnimationDuration">150</integer>
41
42    <!-- Allow dragging the PIP to a location to close it -->
43    <bool name="config_pipEnableDismissDragToEdge">true</bool>
44
45    <!-- Allow PIP to resize to a slightly bigger state upon touch/showing the menu -->
46    <bool name="config_pipEnableResizeForMenu">true</bool>
47
48    <!-- Time (duration in milliseconds) that the shell waits for an app to close the PiP by itself
49         if a custom action is present before closing it. -->
50    <integer name="config_pipForceCloseDelay">1000</integer>
51
52    <!-- Allow PIP to resize via pinch gesture. -->
53    <bool name="config_pipEnablePinchResize">true</bool>
54
55    <!-- Animation duration when using long press on recents to dock -->
56    <integer name="long_press_dock_anim_duration">250</integer>
57
58    <!-- Animation duration for translating of one handed when trigger / dismiss. -->
59    <integer name="config_one_handed_translate_animation_duration">600</integer>
60
61    <!-- One handed mode default offset % of display size -->
62    <fraction name="config_one_handed_offset">40%</fraction>
63
64    <!-- Allow one handed to enable round corner -->
65    <bool name="config_one_handed_enable_round_corner">true</bool>
66
67    <!-- Bounds [left top right bottom] on screen for picture-in-picture (PIP) windows,
68     when the PIP menu is shown in center. -->
69    <string translatable="false" name="pip_menu_bounds">"596 280 1324 690"</string>
70
71    <!-- Animation duration when exit starting window: fade out icon -->
72    <integer name="starting_window_app_reveal_icon_fade_out_duration">133</integer>
73
74    <!-- Animation duration when exit starting window: reveal app -->
75    <integer name="starting_window_app_reveal_anim_delay">83</integer>
76
77    <!-- Animation duration when exit starting window: reveal app -->
78    <integer name="starting_window_app_reveal_anim_duration">266</integer>
79
80    <!-- Default animation type when hiding the starting window. The possible values are:
81          - 0 for radial vanish + slide up
82          - 1 for fade out -->
83    <integer name="starting_window_exit_animation_type">0</integer>
84
85    <!-- Default insets [LEFT/RIGHTxTOP/BOTTOM] from the screen edge for picture-in-picture windows.
86         These values are in DPs and will be converted to pixel sizes internally. -->
87    <string translatable="false" name="config_defaultPictureInPictureScreenEdgeInsets">
88        16x16
89    </string>
90
91    <!-- Default percentages for the PIP size logic.
92         1. Determine max widths
93         Subtract width of system UI and default padding from the shortest edge of the device.
94         This is the max width.
95         2. Calculate Default and Mins
96         Default is config_pipSystemPreferredDefaultSizePercent of max-width/height.
97         Min is config_pipSystemPreferredMinimumSizePercent of it. -->
98    <item name="config_pipSystemPreferredDefaultSizePercent" format="float" type="dimen">0.6</item>
99    <item name="config_pipSystemPreferredMinimumSizePercent" format="float" type="dimen">0.5</item>
100    <!-- Default percentages for the PIP size logic when the Display is close to square.
101         This is used instead when the display is square-ish, like fold-ables when unfolded,
102         to make sure that default PiP does not cover the hinge (halfway of the display).
103         0. Determine if the display is square-ish
104         If min(displayWidth, displayHeight) / max(displayWidth, displayHeight) is greater than
105         config_pipSquareDisplayThresholdForSystemPreferredSize, we use the percent for
106         square display listed below.
107         1. Determine max widths
108         Subtract width of system UI and default padding from the shortest edge of the device.
109         This is the max width.
110         2. Calculate Default and Mins
111         Default is config_pipSystemPreferredDefaultSizePercentForSquareDisplay of max-width/height.
112         Min is config_pipSystemPreferredMinimumSizePercentForSquareDisplay of it. -->
113    <item name="config_pipSquareDisplayThresholdForSystemPreferredSize"
114        format="float" type="dimen">0.95</item>
115    <item name="config_pipSystemPreferredDefaultSizePercentForSquareDisplay"
116        format="float" type="dimen">0.5</item>
117    <item name="config_pipSystemPreferredMinimumSizePercentForSquareDisplay"
118        format="float" type="dimen">0.4</item>
119
120    <!-- The percentage of the screen width to use for the default width or height of
121         picture-in-picture windows. Regardless of the percent set here, calculated size will never
122         be smaller than @dimen/default_minimal_size_pip_resizable_task.
123         This is used in legacy spec, use config_pipSystemPreferredDefaultSizePercent instead. -->
124    <item name="config_pictureInPictureDefaultSizePercent" format="float" type="dimen">0.23</item>
125
126    <!-- PiP minimum size, which is a % based off the shorter side of display width and height.
127         This is used in legacy spec, use config_pipSystemPreferredMinimumSizePercent instead. -->
128    <fraction name="config_pipShortestEdgePercent">40%</fraction>
129
130    <!-- The default aspect ratio for picture-in-picture windows. -->
131    <item name="config_pictureInPictureDefaultAspectRatio" format="float" type="dimen">
132        1.777778
133    </item>
134
135    <!-- This is the limit for the max and min aspect ratio (1 / this value) at which the min size
136         will be used instead of an adaptive size based loosely on area. -->
137    <item name="config_pictureInPictureAspectRatioLimitForMinSize" format="float" type="dimen">
138        1.777778
139    </item>
140
141    <!-- The aspect ratio that by which optimizations to large screen sizes are made.
142         Needs to be less that or equal to 1. -->
143    <item name="config_pipLargeScreenOptimizedAspectRatio" format="float" type="dimen">0.5625</item>
144
145    <!-- The default gravity for the picture-in-picture window.
146         Currently, this maps to Gravity.BOTTOM | Gravity.RIGHT -->
147    <integer name="config_defaultPictureInPictureGravity">0x55</integer>
148
149    <!-- Whether to dim a split-screen task when the other is the IME target -->
150    <bool name="config_dimNonImeAttachedSide">true</bool>
151
152    <!-- Components support to launch multiple instances into split-screen -->
153    <string-array name="config_appsSupportMultiInstancesSplit">
154    </string-array>
155
156    <!-- Whether the extended restart dialog is enabled -->
157    <bool name="config_letterboxIsRestartDialogEnabled">false</bool>
158
159    <!-- Whether the additional education about reachability is enabled -->
160    <bool name="config_letterboxIsReachabilityEducationEnabled">false</bool>
161
162    <!-- The minimum tolerance of the percentage of activity bounds within its task to hide
163         size compat restart button. Value lower than 0 or higher than 100 will be ignored.
164         100 is the default value where the activity has to fit exactly within the task to allow
165         size compat restart button to be hidden. 0 means size compat restart button will always
166         be hidden. -->
167    <integer name="config_letterboxRestartButtonHideTolerance">100</integer>
168
169    <!-- Whether DragAndDrop capability is enabled -->
170    <bool name="config_enableShellDragDrop">true</bool>
171
172    <!-- Whether this device allows to use the appIcon as a fallback icon for the splash screen
173        window. If false, the splash screen will be a solid color splash screen whenever the
174        app has not provided a windowSplashScreenAnimatedIcon. -->
175    <bool name="config_canUseAppIconForSplashScreen">true</bool>
176
177    <!-- Whether CompatUIController is enabled -->
178    <bool name="config_enableCompatUIController">true</bool>
179
180    <!-- Whether pointer pilfer is required to start back animation. -->
181    <bool name="config_backAnimationRequiresPointerPilfer">true</bool>
182</resources>
183