Commit Graph

1858 Commits

Author SHA1 Message Date
Treehugger Robot acadebfaa1 Merge "Let TaskView allow empty TaskContainers" into main 2025-02-26 12:54:24 -08:00
minch b8d4758d4e Let TaskView allow empty TaskContainers
Bug: 391918297
Flag: EXEMPT refactor
Test: m
Change-Id: Ia12c01746e6b31ac980c367f1c0144e69765f2a5
2025-02-26 12:50:04 -08:00
Treehugger Robot 006ea72afe Merge "More test for taskbar overflow" into main 2025-02-25 22:35:47 -08:00
Brian Isganitis fbd55aeda4 Merge "Have per-environment bindings for Taskbar multivalent tests." into main 2025-02-25 09:53:16 -08:00
Will Osborn 8bc3268ec4 Merge "DisplayController refactoring for multiple displays" into main 2025-02-25 08:16:52 -08:00
Will Osborn c47d03f1f9 DisplayController refactoring for multiple displays
Test: locally tested on Tangor
Flag: com.android.launcher3.enable_overview_on_connected_displays
Bug: 392858637
Change-Id: I18c196c977b3731aa09d2cc93ab6341b8f1636c6
2025-02-25 11:29:02 +00:00
Sukesh Ram f1ec7a7699 [CD Taskbar] Refactor TaskbarManager - Add Debugging Support for Stability.
Refactor TaskbarManager & add Debugging Support for Stability. Centralize all existing logging behind existing logging methods.

Bug: 398878697
Bug: 382378283
Bug: 391653300
Test: m
Flag: EXEMPT not adding new behavior
Change-Id: I3f131b5e9ce720140c1d3eb46a53a4763926df83
2025-02-25 02:52:48 -08:00
Toni Barzic 501562f09a More test for taskbar overflow
Adds tests to TaskbarOverflowTests to verify that:
*   tapping overflow view toggles keyboard quick switch view
*   tasks associated with a hotseat item don't get added to
    recents taskbar section / overflow view
*   keyboard quick switch view shown from taskbar contains
    running tasks, excluding tasks associated with a hotseat item

Bug: 379774843
Flag: com.android.launcher3.taskbar_overflow
Test: atest TaskbarOverflowTest

Change-Id: Iee6316c33cef6322d567e853f9fa358b7af9e172
2025-02-25 04:39:23 +00:00
Jeremy Sim bc872b2ae4 Merge "Fix icon positioning for flexible split in Overview" into main 2025-02-24 17:03:09 -08:00
Jagrut Desai 8b2e5eff9b Desktop Mode Taskbar Recreate Animation
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
2025-02-24 11:59:53 -08:00
Jeremy Sim 633b94abf1 Fix icon positioning for flexible split in Overview
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
2025-02-24 11:48:50 -08:00
Treehugger Robot 19db412ca6 Merge "Update NavHandle tests to use more conservative timings." into main 2025-02-24 06:51:09 -08:00
Treehugger Robot 63de256dfe Merge "Add deskId to DesktopTask." into main 2025-02-21 18:33:52 -08:00
Andy Wickham 471ad8400f Update NavHandle tests to use more conservative timings.
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
2025-02-22 02:30:18 +00:00
Xiaoqian Dai 6aca9bedd5 desktop-exploded-view: Implement the close button and its behavior
Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual + newly added tapl tests in a following CL
Bug: 353965691

Change-Id: Iba4603b84928885b1d50f5551adbacbd31e98cc3
2025-02-21 22:23:41 +00:00
Treehugger Robot 2e759f359c Merge "Launcher: Make RecentTasksController.getRecentTasks() multi-desks aware" into main 2025-02-21 10:38:35 -08:00
Sunny Goyal 7629bc4dcd Merge "Converting LauncherAppState to Dagger" into main 2025-02-21 10:06:01 -08:00
Ahmed Fakhry dafc2d4c42 Add deskId to DesktopTask.
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
2025-02-21 17:50:13 +00:00
Treehugger Robot b38ab564be Merge "Close gap between grid and clear all for expressive dismiss." into main 2025-02-21 04:01:11 -08:00
Treehugger Robot feb96ff7d3 Merge "Launch app pair when one of them is in freeform." into main 2025-02-20 20:29:16 -08:00
Sunny Goyal c9f697aeb5 Converting LauncherAppState to Dagger
Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger

Change-Id: I336a233d2703c23a7e9065474bde471786886144
2025-02-20 19:13:49 -08:00
Shamali Patwa e532fc86b4 Merge "Update widgetsModel to return pickable vs all widgets separately." into main 2025-02-20 17:42:32 -08:00
Treehugger Robot 6787617f73 Merge "Log LPNH abandon times at least 200ms." into main 2025-02-20 17:16:15 -08:00
Ahmed Fakhry f7e64649a1 Launcher: Make RecentTasksController.getRecentTasks() multi-desks aware
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
2025-02-20 22:31:58 +00:00
Andy Wickham 8fabc6d111 Log LPNH abandon times at least 200ms.
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
2025-02-20 22:14:37 +00:00
Shamali P f6efa25a49 Update widgetsModel to return pickable vs all widgets separately.
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
2025-02-20 14:13:16 -08:00
Pat Manning 2caae623a6 Close gap between grid and clear all for expressive dismiss.
Fix: 397891454
Test: TaplTestsQuickstep#testDismissLastGridRow
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Id49447819c38f307f05cd4ecc3d501bd51766443
2025-02-20 18:06:52 +00:00
Vania Desmonda c8ee653eef Launch app pair when one of them is in freeform.
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
2025-02-20 18:01:42 +00:00
Treehugger Robot f4bbd45d13 Merge "Add screen record to determine flake of testDismissCancel." into main 2025-02-20 08:16:52 -08:00
Treehugger Robot 6f7d05b2a5 Merge "Prevent high res callback from fetching when not needed." into main 2025-02-20 06:29:13 -08:00
Pat Manning e79ccd9c96 Add screen record to determine flake of testDismissCancel.
Bug: 396447643
Test: TaplTestsQuickstep#testDismissCancel
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Iec03b7ed64d21dc425cf84c62dea4131a050b7b2
2025-02-20 14:08:18 +00:00
Treehugger Robot c6a24e4178 Merge "Use scale adjusted path to avoid warped rounded corners." into main 2025-02-20 05:29:15 -08:00
Sergey Pinkevich c07d64b601 Merge "Convert DesktopAppLaunchTransitionManagerTest to multivalent" into main 2025-02-20 04:52:11 -08:00
Massimo Carli 18f168b8a3 Merge "[2/n] Fix tests before adding modal permission check" into main 2025-02-20 02:27:01 -08:00
Uwais Ashraf acf4dc0a1c Use scale adjusted path to avoid warped rounded corners.
Fix: 355429331
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TaskThumbnailViewScreenshotTest
Change-Id: I7f218b53cc2dd644ce61a0d343901a25cc8b0604
2025-02-19 17:29:16 +00:00
Uwais Ashraf 09933afac9 Prevent high res callback from fetching when not needed.
Fix: 395636649
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TasksRepositoryTest
Test: TaskVisualsChangedDelegate
Change-Id: I7e0f47adb07455c1fed4761d67de901b56bdeb52
2025-02-19 17:05:06 +00:00
Massimo Carli 2aa0a0dde8 [2/n] Fix tests before adding modal permission check
Flag: com.android.window.flags.enable_modals_fullscreen_with_permission
Bug: 394714626
Test: atest NexusLauncherTests:com.android.quickstep.DesktopSystemShortcutTest
Test: atest NexusLauncherTests:com.android.quickstep.ExternalDisplaySystemShortcutTest

Change-Id: I74ad0ca6b089a790a8f84ee6ba735b9d01acdc2f
2025-02-19 09:12:18 +00:00
Uwais Ashraf 1e2ef387d7 Merge "Add view based screenshot for remaining TTV UI states" into main 2025-02-19 01:06:51 -08:00
Treehugger Robot f1397811e0 Merge "Do not crash DesktopVisibilityController on unknown displays" into main 2025-02-18 17:02:00 -08:00
Mykola Podolian a593d2a7da Merge changes I6fe1139e,I581dddf2 into main
* changes:
  Handle new bubble notification while drag is in progress.
  Made the bubble bar react to drag events from the Shell.
2025-02-18 14:03:17 -08:00
Ahmed Fakhry 41111bd8f6 Do not crash DesktopVisibilityController on unknown displays
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
2025-02-18 20:54:19 +00:00
mpodolian 39c4bf2448 Handle new bubble notification while drag is in progress.
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
2025-02-18 10:45:20 -08:00
Uwais Ashraf e4d50cf422 Add view based screenshot for remaining TTV UI states
Bug: 344800402
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TaskThumbnailViewScreenshotTest
Change-Id: Ib67eea313d12631e1ff3bd83b4874d8eb3ebeb39
2025-02-18 18:15:05 +00:00
Treehugger Robot bb6c434ca6 Merge "Clean-up unused dependencies from TaskContainer and RecentsDependencies" into main 2025-02-18 05:54:05 -08:00
Sergey Pinkevich 861a31e8fd Convert DesktopAppLaunchTransitionManagerTest to multivalent
Bug: 378096575
Flag: NONE test fix, not actual code editing
Test: DesktopAppLaunchTransitionManagerTest

Change-Id: I6dc335fea156f4e830e9c2cadf3c98ff01fb7c4f
2025-02-18 13:45:51 +00:00
Jordan Silva 73120a210b Clean-up unused dependencies from TaskContainer and RecentsDependencies
Fix: 397222030
Doc: go/launcher-overview-unified-taskviewmodel
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: OverviewImageTest
Test: TaskViewModelTest
Test: GetThumbnailPositionUseCaseTest
Test: GetThumbnailUseCaseTest
Change-Id: Idc1793039b4fc57d666dc19c55b984ba617c67bd
2025-02-18 03:39:42 -08:00
Sergey Pinkevich 6880093100 Merge "Open and close animation for trampoline task" into main 2025-02-14 15:22:20 -08:00
Treehugger Robot 059bba075b Merge "Update dismiss length for tasks to bring them off screen." into main 2025-02-14 12:30:46 -08:00
Pat Manning 8bda4f6b5f Update dismiss length for tasks to bring them off screen.
Fix: 393553524
Test: TaplTestsQuickstep#testDismissBottomRow
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I959bcc86ad986abfe4546add62146e99f3707cc4
2025-02-14 18:32:00 +00:00
Sergey Pinkevich 9c8926bff5 Open and close animation for trampoline task
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
2025-02-14 10:20:26 +00:00