This Cl includes
- addition of entry/exit callback methods in DesktopVisibilityController.
- taskbar manager now listens to desktop mode changes.
- TaskbarBackrgroundRedererer can now individually animation backgrounds for transient and persistent taskbars
- new channel for taskbar icon alpha added to TaskbarViewController
- new animated float to handle background alpha while we are recreating taskbar with animation.
Solution:
we use the callabck we get from DekstopVisibilty for entry/exit to first change logic of when we are considered inDesktopMode. Upon entry/exit we notify display controller for info change.
we also at notify taskbar manager who is now a listener to the desktop mode change and start the recreate process. TaskbarManager first animates existing taskbar out of user view and then follows the original recreate flow.
Test: Presubmit
Bug: 343882478
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ib827564cacd194f499e7d9b1965e2bb13e3548ab
In flexible split ratios like 90:10 and 10:90, we hide the Overview icon of the smaller app completely. This resulted in a bug where the single remaining visible icon was positioned badly.
Fixed this by adding a check in updateIconPlacement() so that we can skip the two-icon positioning and center the visible icon alone. Also fixed the cases where split select is initiated on a split tile (from Taskbar). Now the correct icon should be shown and centered.
Fixes: 391865942
Flag: com.android.wm.shell.enable_flexible_two_app_split
Test: Single icon is positioned correctly in the middle. When split select is initiated, the right icon is shown and centered. When app chip menus are enabled, the (existing) correct behavior is not changed.
Change-Id: I79842222fc325a7661cbabbb54d277389a317504
On some devices, the long press would trigger due to an overly
long wait in the test. Separately, the small slop tests were
using a slop that would trigger the second stage if that flag was
enabled, so the trigger didn't happen (WAI). We already test 2
stage, so I updated these tests to use a smaller slop that should
not trigger with or without 2 stage.
Test: atest NexusLauncherTests:com.android.quickstep.inputconsumers.NavHandleLongPressInputConsumerTest -- --abi arm64-v8a
Flag: EXEMPT tests
Fix: 398216382
Change-Id: Iec633d01eff63eac8ba072fef4ac1e7b452d8242
Now that `GroupedTaskInfo` propagates the `deskId` from
Shell (see ag/31825217), we need to plumb this value in
Launcher through `DesktopTask`.
Future CLs will use this value in Overview.
Bug: 395911284
Test: m, modified existing tests.
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I396250e0cac761c4c5f7e8b2d6cddbe68e646217
This is the Launcher-side CL of the companion CL ag/31825217.
This CL changes `GroupedTaskInfo` and `RecentTasksController.getRecentTasks()`
such that multiple desktops are supported.
Bug: 395911284
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I856768d03460054ccd7056f87e16dcb65ced47fb
Restricting to 200ms+ to reduce the spamminess of these logs.
The idea is to log the latency of LPNH abandons to see the effect
of prewarming at x ms.
Bug: 397484410
Flag: EXEMPT logging
Test: Manual and updated NavHandleLongPressInputConsumerTest.
Change-Id: I93f94ed0757508b68fcb48d61bdd194564dcc573
Earlier wallpaper preview was reading widgets that were eligible for
displaying in picker, which means widgets that are marked as hidden in
picker wouldn't show up in wallpaper preview.
This fix updates widgets model to maintain map of all widgets (instead of just pickable widgets like before), so that the existing `getWidgetsByComponentKey` function used by wallpaper preview can see all widgets. And, updates picker specific methods to use separate functions (suffixed `forPicker` that filter out picker ineligible widgets when read by picker code).
Bug: 385695615
Test: WidgetsModelTest, WidgetsPredictionUpdateTaskTest and demo
Flag: EXEMPT BUGFIX
Change-Id: I59efe38be0ce1f8a956ba4be42fb6e8b48b5d323
Call launchAppPair when one of the tasks is in freeform to prevent only
launching one app to the side and choosing the DesktopWallpaperActivity
as the other app pair.
Fixes: 394917143
Flag: com.android.window.flags.enable_desktop_windowing_mode
Test: atest NexusLauncherRoboTests
Change-Id: I3967473fa648f2b245ac8b4f16e6112f6d8f077f
Instead of requiring that a valid display ID is given to
the APIs in `DesktopVisibilityController` and crashing the Launcher,
this CL lets the code handle invalid IDs gracefully, and adds a test
that fails without the fix.
Bug: 392986431
Test: atest NexusLauncherTests:com.android.launcher3.statehandlers.DesktopVisibilityControllerTest
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: Id1bc7876ce654b96191c85089557b9279963acd8
Handle new bubble notification while drag is in progress. Updated logic
to react to new bubble notifications arriving during drag operations
before a drop occurs.
Bug: 388894910
Flag: com.android.wm.shell.enable_create_any_bubble
Test: BubbleBarViewAnimatorTest
Test: Manual. Go to some application and have no bubbles. Start
dragging the taskbar icon over the bubble bar drop zone. Trigger new
bubble with the bubbles test application. Observe drop target is
hidden and new bubble is animated in, followed by flyout. When flyout
disappears, bubble bar remains on the screen. Release icon over the
bubble bar. Observe newly added application bubble is expanded. Repeat
same test, but drag the taskbar icon to the opposite side.
Test: Manual. Go to some application, but have bubbles. Start
dragging the taskbar icon over the bubble bar drop zone. Trigger new
bubble with the bubbles test application. Observe new bubble is added
and the flyout is shown. When flyout disappears, bubble bar remains on
the screen. Release icon over the bubble bar. Observe newly added
application bubble is expanded. Repeat same test, but drag the taskbar
icon to the opposite side.
Change-Id: I6fe1139ef56f4ad40d36a804016d23a9b34abf5f
Bug: 378096575
Flag: NONE test fix, not actual code editing
Test: DesktopAppLaunchTransitionManagerTest
Change-Id: I6dc335fea156f4e830e9c2cadf3c98ff01fb7c4f
Moving most of the logic from DesktopAppLaunchTransition to DesktopAppLaunchAnimatorHelper to make it more testable
Bug: 391548553
Flag: com.android.window.flags.enable_desktop_trampoline_close_animation_bugfix
Test: DesktopAppLaunchAnimatorHelperTest
Change-Id: I606fc3fc25250ea4128f3089b701a1ae153dc47a