Create SparseBooleanArray to ensure that with connected displays, there is support for multiple RootLayouts, which each a variable tracking whether they have been added to the window or not.
Flag: EXEMPT not adding new behavior
Bug: 384793943
Test: Manual
Change-Id: I18849d033cada181eadf89c86d3c02d87a8ee962
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Checked that TaskViews layout are correct in below scenarios:
1. Dismiss the first TaskView
2. Dismiss the last TaskView
3. Dismiss a TaskView in the middle
4. Remove all the TaskViews
Change-Id: I944503e9c1a65cded128efd5572734e887cdb027
Shift the taskbar to fulfill the 12dp distance if the distance between
the taskbar and the bubble bar is below this threshold.
Fixes: 376929094
Test: TaskbarViewControllerTest
Test: Manual. Test that the transient taskbar shifts properly.
Increased the minimum distance to 120 dp and verified that the taskbar
shifts correctly. Moved bubbles side to side, confirming the taskbar
follows. The return-to-home-screen animation to the hotseat plays as
expected from either side.
Video:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/bJZ8PclmltZu7IupvBFrLn
Test: Manual. Test that the transient taskbar stashes properly.
Increased the minimum distance to 120 dp and verified that the taskbar
shifts correctly. Go to any application. Stash and un-stash the taskbar.
Video:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/hCGRhUgIqvcehOrTQ2Ulvj
Test: Manual. Test that the transient taskbar pin/unpin properly.
Increased the minimum distance to 120 dp and verified that the taskbar
shifts correctly. Pin/unpin the taskbar.
Video:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/f3fy5JKVZAk4wLCpVra4DK
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Id4bd713da93053f90d9c2be8503dc93531a03b29
Taskbar should be able to access TouchInteractionService directly
Bug: 384896306
Test: Presubmit
Flag: EXEMPT bugfix
Change-Id: I2a32d3a7a2b2071645abff72c62635c6575a48a1
Do not rely on `getTaskViewCount` as the index information.
- Remove the use of the deprecated function `obtain` as well.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Enabled TalkBack on Tangor and entered overview with multiple
opened apps, verified the information as below:
1. The number of children pronounced by TalkBack is the number
of RecentsView children.
2. Talkback starts from the leftmost visible TaskView, which
matches the logic that we added the TaskView in reverse order
to the accessibility children list.
3. Scrolled inside RecentsView, and checked the from and end
indices of the a11 event are the same as before.
Change-Id: Ib3c37422ba940aed6c124a8cc0d4732144783d45
DisplayController caches the display size, so when the user unfolds a foldable, the screen size is incorrect, which messes with the touch handling. Using DeviceProfile instead.
Flag: EXEMPT bug fix
Fixes: 361694048
Test: fold/unfold device during home/back/overview tutorial steps
Change-Id: Ie49f677f97ea5ddb0f91d2e662677edaaa81860a
As the bug, in some case the launcher taskbar is visible but the taskbar
window is flagged with PRIVATE_FLAG_EXCLUDE_FROM_SCREEN_MAGNIFICATION, so
the magnification consumes the gesture events on the taskabr, then the
accessibility gesture shortcut cannot take effect.
The flag was introduced in Launcher to fix the fullscreen magnification border
cutting/overlapping with taskbar issue. Since we already migrate the
fullscreen border to sysui and make it always fit the screen, regardless
the magnification regions, so we can remove the flag usage in Launcher
to solve the bug and do not affect the fullscreen border layout correctness.
We'll use a bugfix feature flag to gradually rollout this change.
To test the fix, on LargeScreen devices, we can enable accessibility gesture
shortcut and disable the "keep on while switching apps" toggle in
Magnification Settings page, then in any app we use the 2 finger swipe gestures
to try activate/deactivate the magnification. When the flag is off, swipe
gesture can not successfully deactivate the magnification, while the
flah is on it work. (attached records in bug)
Bug: 369019568
Flag: com.android.launcher3.remove_exclude_from_screen_magnification_flag_usage
Test: manually (see message above)
Change-Id: I469189a2288d0ddbfb5a5d9e02a78366870ce5b1
Bug: 384110883
Test: Tested with both halves made smaller,
large screen and small (phone has other existing bugs).
Lanscape and portrait.
Flag: com.android.wm.shell.enable_flexible_two_app_split
Change-Id: Ib6508c7b3192cc47fc8406cdf68c826bed29de5f
When exiting Overview, the Launcher.onIdpChange listener is indirectly
triggered by DesktopVisibilityController.onLauncherStateChanged because
with a desktop live tile the mode will have changed out of desktop mode.
onIdpChange is treated as a configuration change and triggers reapplyUi
which cancels currently running animations and causes the Overview->Home
animation not to run.
Bug: 378481525
Test: locally tested on TangorPro
Flag: EXEMPT bugfix
Change-Id: I1629e43d7b2fd960c5b999899b286e918a1e7aa4
This is a preparation to migrate TaskViews iteration that
rely `getTaskViewCount` to the `TaskViewsIterable` and
`TaskViewsIterator`.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Tested on tangor with `adb shell wm density 480` to simulate
phone layout, and verified overview layout is correct in
scenarios below:
1. Dismiss the first TaskView
2. Dismiss the last TaskView
3. Dismiss a TaskView in the middle
4. Click `ClearAll` button to dismiss all the TaskViews
Change-Id: Icbaf1ea706906097fc6ac60ad3e2ab17d2781284
Previously, clicks were not handled because no listener was set on the
bubble bar.
Fixes: 383622825
Test: Manual. Ensure bubbles are on the home screen and set the
navigation mode to 3-button navigation. Click on the collapsed bubble
bar and observe the bar expanding.
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I99e1c20e40a9dd9da97b68817734c8ca1f656baa
This change ensures that if open, the Taskbar multi instance menu will close when
another long press app menu is launched, when a folder is opened, or
when Taskbar all apps is opened.
Fix: 383510315
Test: Open Taskbar multi instance menu and ensure it closes when other
views are opening (Taskbar all apps, a folder, and app long press menu)
Flag: com.android.launcher3.enable_multi_instance_menu_taskbar
Change-Id: Id2d64c86a76978af8db56d3a083dc79a677a1a5d
When updating the bubble bar visibility, allow it to become visible
if the only hidden bit is the stashed one and we're animating.
This fixes the visibility issue that appears after dismissing the
bar while stashed, and then sending an initial bubble, while still
stashed.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 383620113
Test: manual
- create bubble
- launch app
- dismiss bubble with adb
- create bubble with adb
- observe bubble bar is visible during the animation
Change-Id: I7a955de068867829b3ccab11b2b0adc8d8e10239
This cl adds the pin shortcut option to the context menu, where
it works on Home launcher, hotseat, and pinned apps on the
taskbar.
Currently the option is a no-op.
Bug: 375648361
Test: Manual. Recording uploaded to buganizer
Flag: com.android.launcher3.enable_pinning_app_with_context_menu
Change-Id: I5d1284a6e909fd75f14e81c3ae713da3cdc01ce3
Using `getChildCount` to iterate TaskViews instead of
`getTaskViewCount` when indices are used. As it is not safe to assume
the TaskView starts from index 0.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Manual
Change-Id: I599b5117f0848e429ebf83fc4b85451e52b4bcab
- RecentsViewUtils is owned by RecentsView, it's safe to have an instance of RecentsView to simplify a lot of call sites
Fix: 383999010
Test: presubmit
Flag: EXEMPT refactor
Change-Id: I69f991ea137b30e0297df825b78ad431f6388af8
Setting the depth when predictive back to home is started. This will be animated to NORMAL state by ScalingWorkspaceRevealAnim on back gesture commit.
Bug: 382453424
Flag: com.android.launcher3.predictive_back_to_home_polish
Test: Manual, i.e. testing predictive back-to-home animation on device
Change-Id: Id33f49d78aae268b7d89035cce58065f6a60a8bf