Commit Graph

1374 Commits

Author SHA1 Message Date
Pat Manning 8216005fd0 Run dismiss immediately if no neighbors exist.
Previously was still relying on spring driver to end, even if driving no neighbors.

Update live tile before canceling animation to bring task off screen, or else it may still show at the top of the screen.

Fix: 405364868
Test: Manual
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Ic9a1b4ba9aaf1ec3830e49bf15573388a6d7a2ad
2025-03-26 10:45:22 -07:00
Treehugger Robot 8292d26063 Merge "Snap to Large tile or first grid task when they are the next page." into main 2025-03-26 05:07:40 -07:00
Uwais Ashraf deefa3db71 Also cancel TaskView collection Jobs when Overview is not on screen.
This prevents old scopes still being active when new TaskView state emissions are being sent to main. They were previously cancelled in time but still result in empty continuations occuring on main.

Bug: 395294954
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual - checking perfetto traces
Change-Id: I539a6fde8c9315ceeac74c9bf622d1e2dca1403a
2025-03-25 15:23:56 +00:00
Pat Manning b147f6f4b7 Snap to Large tile or first grid task when they are the next page.
Fix: 398232493
Fix: 399622012
Test: Manual
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I10cbd303b3e36059a41cb4ff7fdb4b4af7f93f23
2025-03-25 12:44:35 +00:00
Treehugger Robot 44552dc98f Merge "Stay in the current task when a new desk is created" into main 2025-03-24 13:23:22 -07:00
Suhua Lei 77481d611b Stay in the current task when a new desk is created
Bug: 401002178
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: manual create new desks
Change-Id: Iaa29c557a421d5c51b90aa808188d3cabec89143
2025-03-24 17:19:17 +00:00
minch 13e1445773 Migrate to TopTaskTracker.getPlaceholderGroupedTaskInfo
Migrate all the call sites of `TopTaskTracker.getPlaceholderTasks`
and `getSplitPlaceholderTask`s to the new API
`getPlaceholderGroupedTaskInfo`

Bug: 401582344
Flag: EXEMPT refactor
Test: m
Change-Id: I0d71508f4dd9633fea025ed842c4c048d0e70462
2025-03-22 05:23:06 +00:00
Treehugger Robot aa53bd3392 Merge "Allow fast flinging to cancel task dismiss." into main 2025-03-20 07:15:16 -07:00
Uwais Ashraf bbe63db85c Merge changes from topic "cleanup-existing-update-disabled-flags" into main
* changes:
  Remove existing superceded calls to updateDisableFlags
  Change actions view disabling logic
2025-03-20 07:00:19 -07:00
Pat Manning 0ad72c5837 Allow fast flinging to cancel task dismiss.
Fix: 404213155
Test: Manual. Fling tasks back to rest state.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I7b738b80c375fe96994798ffadc9b5f77dd8a208
2025-03-20 11:22:40 +00:00
Treehugger Robot 57f0e8ebe6 Merge "Add flag to gate checking last task visibility on dismiss." into main 2025-03-20 00:36:11 -07:00
Uwais Ashraf 7fd33ebde5 Change actions view disabling logic
1. Introduces "central task" - the task relating to the actions view
2. Decouple the overlay and actions view
3. Undo filter of taskViewType == SINGLE for overlay as it can be enabled for split tasks as well

Bug: 402351284
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: OverviewImageTest (attached abtd run)
Test: OverviewMenuImageTest (attached abtd run)
Change-Id: Id7bc5c9c6620183d91e99d9dc5d2980eb8e3ec36
2025-03-19 18:03:52 +00:00
Alex Chau ddc72547d4 Merge "Correct the call of getExpectedCurrentTask" into main 2025-03-19 07:55:32 -07:00
Pat Manning 28b827b489 Add flag to gate checking last task visibility on dismiss.
Bug: 404203362
Test: Manual. Open 9 apps, dismiss all bottom grid tasks, dismiss first top task, observe no jump.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Ie21d234f6a44c4566c4f73d4cc3c32f6a8375e6d
2025-03-19 13:44:56 +00:00
Pat Manning 81b6d25bb8 Merge "Prevent jumping to last grid task when not visible." into main 2025-03-18 11:22:34 -07:00
Pat Manning f3ef4e9961 Merge "Prevent multiple competing dismissals." into main 2025-03-18 11:04:47 -07:00
minch 683c68af39 Correct the call of getExpectedCurrentTask
Bug: 401582344
Flag: EXEMPT bug fix
Test: m
Change-Id: I683be73a6632ba719396d44454a8650bbee7267d
2025-03-18 09:57:52 -07:00
Pat Manning 832f178138 Prevent jumping to last grid task when not visible.
Fix: 404203362
Test: Manual. Open 9 apps, dismiss all bottom grid tasks, dismiss first top task, observe no jump.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I11058b90b7d8c90256329849554886d652624926
2025-03-18 12:26:41 +00:00
Alex Chau 843a881e7c Update scale on TaskView instead for select mode
- Avoid zooming in RecentsView in Select mode, instead zoom in the selected TaskView only to avoid changing RecentsView's scale and pivot, otherwise when doing home gesture in Select mode RecentseView zoom will be distorted
- Set taskModalness on all TaskViews, so they can fade out while entering Select mode, this avoid janky transitionig of non-selected TaskView appearing during hoem gesture
- Keep overviewGridEnabled true until transitioning out of a RecentsView visible state, so showAsGrid() remains true and the Overview grid won't deform midway through animating
- When leaving Select mode to RecentsView invisible state (e.g. Home), leave taskModalness 1 until the last frame so selected TaskView remains zoomed in until RecentsView is invisible

Fix: 322818393
Test: OverviewTaskSelectImageTest
Test: Repeat with combination of default/fallback, live/static tile, handheld/tablet
1) Swipe up from Overview
2) Swipe up from Select to go Home
3) Backc/cross button to exit Select to Overview
Flag: com.android.launcher3.enable_grid_only_overview

Change-Id: I8fec62315cbd404502852654772edb1d695f1ec6
2025-03-17 14:39:40 +00:00
Pat Manning cc973dfdce Prevent multiple competing dismissals.
This brings into line with existing UX prior to the feature.

Fix: 400727071
Test: Manual. Dismiss as quickly as possible.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Ie3f6f82c3ed4626829f3a61307e73cbdb8a31ceb
2025-03-14 16:11:19 +00:00
Jordan Silva 50a048bc38 Merge "Fix App Chip positioning in Fake Orientation" into main 2025-03-14 07:26:50 -07:00
Jordan Silva 43ba3e9276 Fix App Chip positioning in Fake Orientation
This CL changes how the layoutDirection of the App Chip is handled and update translations in the PagedViewHandler for the app chip for fake orientation.

- The App Chip was updated to use the device layoutDirection instead of the same of RecentsView. This prevents the app chip being displayed in RTL when the device is LTR and vice-versa.
- It also applies the correct layout direction to `IconAppChipView` and its related views to ensure proper RTL behavior.
- RecentsView now updates layoutDirection for its children when updateChildTaskOrientation is called. This will make sure its children have the the latest and the correct layoutDirection.. Before it was only applied when adding a view (addView).
- In `SeascapePagedViewHandler`, it adjust the gravity for app chip be aligned correctly in Seascape.
- In `GroupedTaskView`, it checks if the device is in RTL to align the app chip correctly for split tasks.

- Multiple test combinations were done to validate this fix, please see table in b/326377497#comment7.

Fix: 326377497
Bug: 403284758
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual, please check b/326377497#comment7.
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Change-Id: I8e8050ccf58c3f90718a48773ee7e32ddbc00f13
2025-03-14 12:01:12 +00:00
Min Chen 3956f310c0 Merge "Get displayId from DesktopTask for DesktopTaskView" into main 2025-03-13 21:05:28 -07:00
minch 68e116e79f Get displayId from DesktopTask for DesktopTaskView
Bug: 401011627
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: Added a test in RecentTasksListTest
Change-Id: I21164de812d57b79cd84370bbf0426268c4b645d
2025-03-13 22:24:22 +00:00
Treehugger Robot 85db442ef1 Merge "Handle visibility of AddDesktopButton for overview/quickswitch" into main 2025-03-13 13:13:46 -07:00
Suhua Lei c8fcf08dfd Handle visibility of AddDesktopButton for overview/quickswitch
This change introduces mDisallowScrollToAddDesk to handle the visibility
of AddDesktopButton in overview/quickswitch. In overview, set its scroll
as the first task; in quick switch, set its scroll out range of
[minScroll, maxScroll].

Bug: 398036110
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: manual quick switch
Change-Id: I5fada0c4c5bccc5572b458da9970e3524087508d
2025-03-13 10:50:21 -07:00
vinayjoglekar 7d88ef3aae Implementation of overview background blur
- Remove overview background scrim color.
- Create blur layer and blur surface to set blur to behind live app tile.
- Handles cases like live tile to screenshot during AiAi and orientation change.

Bug: 377244819
Test: Manual. Enter overview from app/home.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: I5dce0268f4421cd0ac29dbb429e5d106da7a0bdc
2025-03-13 22:30:27 +05:30
Jordan Silva 99eefc9055 Add keyboard navigation for App Chip and Chip Menu
Bug: 400410772
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual using Keyboard. Access the app chip via TAB.
Change-Id: I75f80b5c6f366ecfc27596519a721cc6ace18d45
2025-03-12 07:55:04 -07:00
Uwais Ashraf d4b187b997 Add perf tracing for several key operations in TaskView lifecycle.
Fix: 402622741
Test: Manually looking at perf traces
Flag: EXEMPT - tracing only
Change-Id: If42a30d83dd72ebfe4074fedd7bdefcd102881d6
2025-03-12 11:02:00 +00:00
minch 3049247a2e Track the empty desk correctly inside applyLoadPlan
Track the DesktopTaskView through its `deskId` if it is the current
TaskView or the running TaskView. This is done to support emtpy
desk which has no tasks inside.

Bug: 400532675
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: Id1e7e7efc2a6ac3126d0320d85a3d327eec0f3c1
2025-03-11 17:41:25 +00:00
Randy Pfohl 0678d08e87 Merge "Move flags to desktopmodeflag" into main 2025-03-10 14:50:38 -07:00
Ahmed Fakhry 30d39caacb Merge "Propagate desks changes" into main 2025-03-10 14:06:52 -07:00
Randy Pfohl d94ca57547 Move flags to desktopmodeflag
Flag: com.android.launcher3.enable_fallback_overview_in_window
Flag: com.android.launcher3.enable_launcher_overview_in_window
Flag: com.android.launcher3.enable_state_manager_proto_log
Flag: com.android.launcher3.enable_recents_window_proto_log

Test: built and ran locally with flags on and off

Bug: b/401073215
Bug: b/401073401
Bug: b/401075030
Bug: b/401076625

Change-Id: I1bd2822d20f677445610b912dd82ff160bff4143
2025-03-10 19:08:55 +00:00
Ahmed Fakhry 6a19fc0765 Propagate desks changes
This CL propagates desk changes events to `RecentTasksList` and
`RecentsView`.

Bug: 395908683
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I77457d5e2e66166dd8c7d6505317d9add5b886a2
2025-03-10 18:06:03 +00:00
Alex Chau 2642bfb210 Merge "Check before casting to TaskMenuView on rotation" into main 2025-03-10 06:57:59 -07:00
Treehugger Robot 522a869e01 Merge "Show screenshot and select in task menu" into main 2025-03-07 12:28:33 -08:00
Xiaoqian Dai 3dfd8bb2b5 desktop-exploded-view: Launch desktop task view should reverse its
exploded animation

Following CLs will support launching individual task window in the
desktop task view.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 353948437
Change-Id: I5d084a7d8b231522bf5db1704cee1d6124affc22
2025-03-07 17:40:14 +00:00
Alex Chau df7bb7966c Check before casting to TaskMenuView on rotation
- Added a instanceof check to avoid ClassCastException

Fix: 400957867
Flag: EXEMPT BUG_FIX
Test: manual testing rotation on phone and tablet
Change-Id: I2b094fdca4f380128b50d5086548cbac3ef09bf4
2025-03-07 16:55:06 +00:00
samcackett 0946c8c123 Show screenshot and select in task menu
Hide screenshot and select from menu if thumbnail is null

Bug: 383662632
Flag: com.android.launcher3.enable_show_enabled_shortcuts_in_accessibility_menu
Test: OverviewMenuImageTest & manual. See bug.
Change-Id: Idf41de7e36b63f7bcc8639f5f3932a61e56ebfcd
2025-03-07 08:41:41 -08:00
Alex Chau d81a7835ac Merge "Update live tile's pivot when ReccentsView's pivot is updated" into main 2025-03-06 03:29:39 -08:00
Will Osborn 19bdf47a31 Merge "Make separate dependency scopes and graphs for different RecentsViews" into main 2025-03-05 07:29:04 -08:00
Alex Chau d2c77361a2 Update live tile's pivot when ReccentsView's pivot is updated
Fix: 397890144
Test: App to Overview, check live tile animation in 1) swipe up from bottom 2) Dismiss 3) Task launching
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I143d8ca241505ab2f45c49348dc41885b364b859
2025-03-05 12:14:06 +00:00
Will Osborn 074a605827 Make separate dependency scopes and graphs for different RecentsViews
Test: locally tested on Tangor
Flag: EXEMPT - bugfix
Bug: 399364544

Change-Id: I788c5644f198ead206bb7512ec96eab838e51cdb
2025-03-05 10:56:25 +00:00
Treehugger Robot 14eec9f1fc Merge "Spring neighboring tasks into place on task reflow after dismiss." into main 2025-03-04 18:14:33 -08:00
Pat Manning 0c8a5304b8 Spring neighboring tasks into place on task reflow after dismiss.
Fix: 389081477
Test: TaplTestsQuickstep
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I420c6c21b3172626603d7df01bd8cb024d3fb3a8
2025-03-04 18:43:02 +00:00
Randy Pfohl 4743e508e9 Merge "Enabling secondary deviceprofile creation in windowcontext" into main 2025-03-04 09:17:16 -08:00
Alex Chau 12d5e6aed8 Merge "Update gridTranslation of live tile when gestures ends" into main 2025-03-04 02:42:13 -08:00
minch 5cb890579e Disallow scroll to the AddDesktopButton
Bug: 389209338
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: m
Change-Id: Ib9e5bc3ff73aed9facd1bad17d34722bd7a24652
2025-03-03 15:37:11 +00:00
Alex Chau 59e8c59ec6 Update gridTranslation of live tile when gestures ends
- Instead of updating in updateGridProperties, which will be re-run after dismiss and potentially apply wrong translations to live tile.
- Also set gridTranslationX of live tile to 0, as recentsScroll already takes care of horizontally task offest
- Guaded assigning RemoteTargetHandle to DesktopTaskView with enableDrawingLiveTile, so going to Home won't continue to mananages the TaskViewSimulator

Fix: 398231631
Fix: 394316748
Test: App to Overview with live tile on different location in the grid
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I2e0f83a55421279581f3632c16c1e4c41d1fdae6
2025-02-28 18:48:40 +00:00
Randy Pfohl 42405b2fa3 Enabling secondary deviceprofile creation in windowcontext
Test: Built and ran locally

Flag: com.android.launcher3.enable_fallback_overview_in_window
      com.android.launcher3.enable_launcher_overview_in_window

Change-Id: Iafb75840c4acadb35eb9e89810e9de61bbeda326
2025-02-28 18:14:02 +00:00