Commit Graph

2287 Commits

Author SHA1 Message Date
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
Brian Isganitis
7dce7a09c7 Have per-environment bindings for Taskbar multivalent tests.
Flag: TEST_ONLY
Bug: 230027385
Test: go/testedequals
Change-Id: I7dba1e052855da19c9b58c87a0a8b5258ee0dc7c
2025-02-12 16:51:08 -05: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
Pat Manning
a82868d7df Add spring animations for neighboring tasks on dismiss cancel
Fix: 389083088
Test: TaplTestsQuickstep#testDismissCancel
Test: TaskGridNavHelperTest
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I1240519eea499b5839d64e537588bde3cb0a424b
2025-02-10 13:24:19 -08:00
Anushree Ganjam
d158433769 Move RecentsModel to Dagger.
Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger

Change-Id: I0d459ee3fc012e8e371035071f1b32eb2483cdc5
2025-02-10 10:07:20 -08:00
Treehugger Robot
bd93d0d4d3 Merge changes If104c67d,Id59fb236 into main
* changes:
  [CD][Alt+Tab] Show apps from all desktops for KQS on CD
  [CD][Alt+Tab] Implement skeleton code for KQS on CD
2025-02-09 13:07:46 -08:00
Ajinkya Chalke
4078347cbf [CD][Alt+Tab] Implement skeleton code for KQS on CD
- This change will not render KQS on connected display (CD) even with the flag ON as taskbars are not yet created for connected displays.

Bug: 382762871
Change-Id: Id59fb23630aaf0e74c35818f2a4ca56e5ef2e7bb
Flag: com.android.launcher3.enable_alt_tab_kqs_on_connected_displays
Test: manually built and run the CUJ
2025-02-09 19:06:45 +00:00