Commit Graph

1841 Commits

Author SHA1 Message Date
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
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
Jordan Silva 8b53ee48b4 Refactor: Extract GetThumbnailPositionUseCase from TTVM
This CL deletes TaskThumbnailViewModel and refactored ThumbnailPosition
to be propagated from the TaskView into TaskContainer.

Fix: 396147816
Doc: go/launcher-overview-unified-taskviewmodel
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: OverviewImageTest
Test: TaskViewModelTest
Test: GetThumbnailPositionUseCaseTest
Test: GetThumbnailUseCaseTest
Change-Id: I9cc68a8007835f0dc4846b9bf71377c81d19b27b
2025-02-13 13:11:05 -08:00
Treehugger Robot d59261110c Merge "Retrieve thumbnail for freeform windowing" into main 2025-02-13 09:50:55 -08:00
Uwais Ashraf 58b4407154 Retrieve thumbnail for freeform windowing
Fix: 348643341
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual - open freeform task and see thumbnail shown during launch. Videos in b/348643341.
Change-Id: I7c9d070e6b39391301a9701f33adef57819e631d
2025-02-13 15:25:41 +00:00
Pat Manning 1bc108f1c2 Convert TaskGridNavHelper to Kotlin.
Fix: 396114184
Test: TaskGridNavHelperTest
Flag: EXEMPT Kotlin conversion
Change-Id: I1c3da7eac7f41a0763293a0b408f608799f02cf2
2025-02-13 14:47:21 +00:00
Treehugger Robot 6a039c4465 Merge "Implement isInDesktopMode*()" into main 2025-02-12 15:31:53 -08:00
Ahmed Fakhry ad6fee6111 Implement isInDesktopMode*()
This CL does the following:
- Adds new methods `isInDesktopMode()` and
  `isInDesktopModeAndNotInOverview()` to `DesktopVisibilityController`.
- These two methods rely on the new multi-desks impl when the flags are
  enabled.
- Makes the existing `areDesktopTasksVisible()` and
  `areDesktopTasksVisibleAndNotInOverview()` private, and migrates all
  the usages to the new methods.
- The new methods uses the old methods if the flags are disabled.

A companion NexusLauncher CL is at ag/31601363.

Bug: 394182435
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I29ff38f984bfe2f68a120f84e1a75fa36b739258
2025-02-12 21:18:51 +00:00
Treehugger Robot 6c33393fe3 Merge "Revert "Refactor all uses of DisplayController singleton INSTANCE"" into main 2025-02-12 12:34:41 -08:00
Sunny Goyal c864281f3c Revert "Refactor all uses of DisplayController singleton INSTANCE"
Revert submission 31490053-DisplayControllRefactorForCD

Reason for revert: Leak is displayProvider

Reverted changes: /q/submissionid:31490053-DisplayControllRefactorForCD

Change-Id: Ib65150cdde765be009b5c4ce960f9fe025de9e60
2025-02-12 10:27:18 -08:00
Treehugger Robot fb683dff89 Merge "Refactor all uses of DisplayController singleton INSTANCE" into main 2025-02-12 05:47:46 -08:00
Treehugger Robot efebae2ef4 Merge "Destroy RecentsDependencies in tests that initialise it." into main 2025-02-12 02:48:35 -08:00
Will Osborn 5f8b6206ce Refactor all uses of DisplayController singleton INSTANCE
And make DisplayController display id aware

Test: locally tested on Tangor
Flag: EXEMPT refactor
Bug: 392858637

Change-Id: I805cd7323c48a2988c95b9fda7f6cfe4c153860c
2025-02-12 10:46:34 +00:00
Uwais Ashraf d7007ef6e8 Destroy RecentsDependencies in tests that initialise it.
This prevents unaccounted for destructions which can lead to a leak in tests after these.

Bug: 395214062
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TaplStartLauncherViaGestureTests.testStressPressHome
Change-Id: I5cf9214ea9344f7e9d79b61e87269fd6e2c05753
2025-02-12 00:49:00 -08:00
Treehugger Robot 1844db355f Merge "Disable All Apps keyboard shortcut during user setup." into main 2025-02-11 19:58:28 -08:00
ELIYAZ MOMIN (xWF) 31d6be8891 Revert "Moving TisBinder to its own class"
This reverts commit ce9ad064d6.

Reason for revert: <Potential culprit for  b/395855288  - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted>

Change-Id: I12d1eb66ae03e2638a503c103d0b1fa8a863b6b5
2025-02-11 08:18:42 -08:00
Sunny Goyal ce9ad064d6 Moving TisBinder to its own class
> Using callback patter for various change events instead of routing it
  via  TIS

Bug: 386288280
Test: Presubmit
Flag: EXEMPT refactor
Change-Id: I95577d6a1c17103cb947ef1200c1c22b68fd1d9c
2025-02-11 00:21:51 -08:00
Treehugger Robot c913d5317a Merge "Move RecentsModel to Dagger." into main 2025-02-10 16:25:50 -08:00