Commit Graph

21495 Commits

Author SHA1 Message Date
Treehugger Robot 4c1679fe4f Merge "Re-use existing method to get split root" into main 2025-02-10 11:40:09 -08:00
Uwais Ashraf 3dd744a8bd Merge "Updates the app icon based on the TaskData" into main 2025-02-10 07:36:27 -08:00
Jordan Silva e316ea5f85 Merge "Fix empty thumbnail/icon by re-fetching data from cache" into main 2025-02-10 02:56:34 -08:00
Jordan Silva 687862c4a9 Updates the app icon based on the TaskData
- Introduces `setIconState` to manage icon and text updates based on `TaskData`.
- Refactors IconAppChip to use the icon and title provided by TaskViewModel.

Fix: 388486032
Fix: 388490814
Flag: com.android.launcher3.enable_overview_icon_menu
Test: OverviewImageTest
Change-Id: Ibf469743ebc767054eaaabe1891750b7f9de827a
2025-02-10 02:24:52 -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 3ef91e087d [CD][Alt+Tab] Show apps from all desktops for KQS on CD
- Even without multiple desktops, apps that are moved to connected display show up in separate desktop task.
- Further changes may be required to launch a desktop after multiple desktops is implemented.

Bug: 382762871
Flag: com.android.launcher3.enable_alt_tab_kqs_on_connected_displays
Test: manually built and run the CUJ
Change-Id: If104c67d95a1ec3de404998b06352edfa02c0f09
2025-02-09 19:06:54 +00: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
Jordan Silva 9f56a1f793 Fix empty thumbnail/icon by re-fetching data from cache
Request data for all tasks in `TasksRepository` to prevent stale data. This ensures thumbnails and icons are not replaced and become null due to race conditions. The updated code requests data for all tasks, leveraging the cache for immediate returns.

Fix: 394384233
Flag: com.android.launcher3.enable_overview_icon_menu
Test: OverviewImageTest
Change-Id: I356de13b5e9671f50bb1c2680b54b78478fadc28
2025-02-09 05:29:45 -08:00
Ben Lin 473bea410c Merge "Update DesktopMode config for test." into main 2025-02-08 10:47:56 -08:00
Treehugger Robot b3ca33ee45 Merge "Refactor: Extract splash alpha logic from TaskThumbnailViewModel" into main 2025-02-07 17:30:46 -08:00
Jordan Silva a0c936b6ad Refactor: Extract splash alpha logic from TaskThumbnailViewModel
This commit updates how splash alpha is propagated to `TaskThumbnailView`. These changes reduces the usage of flows to handle animations to improve the performance by avoiding inherent overhead for sending messages between threads (go/sysui-flow-overhead).

Bug: 390581380
Doc: go/launcher-overview-unified-taskviewmodel
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: OverviewImageTest
Test: TaskViewModelTest
Test: TaskThumbnailViewModelImplTest
Test: TaskThumbnailViewScreenshotTest
Change-Id: I467da1a90b653fb108eb32534bc0dd2a67d95083
2025-02-07 20:52:37 +00:00
Treehugger Robot d74a33af5a Merge "Make AddDesktopButton can be navigated to through keys" into main 2025-02-07 12:33:46 -08:00
Treehugger Robot 126566a096 Merge "desktop-exploded-view: Implement layout algorithm" into main 2025-02-07 12:00:23 -08:00
Treehugger Robot 795b36785e Merge "Initial Desks tracking on Launcher" into main 2025-02-07 11:53:55 -08:00
minch b39d3015f8 Make AddDesktopButton can be navigated to through keys
Add the focus outline to the button as well.
Same color, ripple effect as the ClearAllButton is applied.

Flag: com.android.window.flags.enable_multiple_desktops_frontend
      com.android.window.flags.enable_multiple_desktops_backend
Bug:391875235
Test: TaskGridNavHelperTest
Change-Id: If93f86a1dce4df8ee6b1c50dfc44092dad2eafab
2025-02-07 18:33:23 +00:00
Xiaoqian Dai 3491fa49a7 desktop-exploded-view: Implement layout algorithm
It was ported over from ChromeOS Overview layout algorithm. In overview,
the layout is done in two stages:
1. Optimal height is determined. In this stage height is bisected to
   find maximum height which still allows all the windows to fit.
2. Row widths are balanced. In this stage the available width is reduced
   until some windows are no longer fitting or until the difference
   between the narrowest and the widest rows starts growing. Overall
   this achieves the goals of maximum size for previews (or maximum
   row height which is equivalent assuming fixed height), balanced rows
   and minimal wasted space.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: b:367353392, b:353948965

Change-Id: I1d0fd2b30ffa5bbc0853650884cf85b519be4227
2025-02-07 10:06:05 -08:00
Ahmed Fakhry c0597ac53b Initial Desks tracking on Launcher
This CL adds the initial implementation of the desks tracking
on the launcher side inside `DesktopVisibilityController`.

Bug: 392986431
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I7ece2407a03fec1cad4663efa230ec9a1980fb75
2025-02-07 17:49:36 +00:00
Treehugger Robot cdc1483f59 Merge "Append application name to content description for direct share targets" into main 2025-02-07 09:28:51 -08:00
Alex Chau 90fb4f883e Merge "Fix Home->Overview grid task not in top-right" into main 2025-02-07 09:28:31 -08:00
Vinit Nayak 7f6f7aad7b Re-use existing method to get split root
Test: Launching app pair from desktop, in-app,
overview from taskbar launches as expected
Bug: 372837890
Flag: EXEMPT bugfix

Change-Id: I50ab3cb1dc95a2cf20b77ae5d00cad3be7cd8e5c
2025-02-07 12:23:50 -05:00
Treehugger Robot bc37b2c46d Merge "desktop-exploded-view: Add some comments" into main 2025-02-07 09:00:07 -08:00
Mykola Podolian 7fa6b816e9 Merge "Added application shortcut extra to allow the Shell adding bubble." into main 2025-02-07 08:17:23 -08:00
Gustav Sennton dad84b4121 Merge "Only set task surface corner radius once in TransformParams" into main 2025-02-07 07:42:06 -08:00
Alex Chau ee082ce6e8 Fix Home->Overview grid task not in top-right
- Use expectedCurrentTaskView's position to calculate if we should add extra gap between clear all button, instead of using the right most task's position; this fixed the case where current task is not the right most task e.g. grid task and desktop task
- The accumulated row width to expectedCurrentTaskView is tracked in the udpateGridProperties loop, and used to calculate the position of the expected position of expectedCurrentTaskView from ClearAllButton
- With this new calculation we no longer needs to adjust longRowWidth when there are onlg large tile tasks

Fix: 391306182
Test: With and without grid-only Overview, test both home and app to Overview with 0-5 tasks with a desktop task; repeat for RTL
Flag: EXEMPT BUG_FIX
Change-Id: I324208c7e063c8b043815291cc0fef7beec884b6
2025-02-07 07:30:08 -08:00
samcackett d4d4d580da Append application name to content description for direct share targets
The direct share targets `label` will be the name of the receiving
device, so we also need to append the application name for a better
readout

Fix: 380008872
Test: MANUAL. Talkback on. Open an app with a url or image. Open Recents
. Select the url or image AiAi chip. Select the first direct share
target. Talkback should read the targets name and application name.
Share. App should dismiss.
Flag: EXEMPT bugfix

Change-Id: I3d7df44d239ae9b8a3a62b7343e65bcd6a2e9939
2025-02-07 15:25:59 +00:00
Charlie Anderson b97431394e Merge "Adjust predicted app icon to draw better inner stroke for shapes:" into main 2025-02-07 05:39:51 -08:00
Gustav Sennton cbb7ecddfe Only set task surface corner radius once in TransformParams
When setting the corner radius constantly in TransformParams sometimes
we set the radius after the end of the recents transition, causing
Desktop tasks to have non-rounded corners at the end of recents
transitions.

Bug: 378657004
Test: manual + TransformParamsTest
Flag: com.android.window.flags.enable_desktop_recents_transitions_corners_bugfix
Change-Id: I2ae919424602d655d0995b4dc1951d96c7dfd3d8
2025-02-07 07:16:33 +00:00
Treehugger Robot 026930cd14 Merge "Use pinned taskbar with desktop tasks on freeform displays" into main 2025-02-06 19:37:47 -08:00
Saumya Prakash 44daae3c06 Merge "Remove back button and enable back gesture on SUW" into main 2025-02-06 18:06:47 -08:00
Charlie Anderson c150eeb2e1 Adjust predicted app icon to draw better inner stroke for shapes:
Bug: 377938036
Flag: com.android.launcher3.enable_launcher_icon_shapes
Test: manually verifying

Change-Id: Ib2c80f0db08bdd24fc6338bed3d666348d09037f
2025-02-06 16:26:50 -08:00
Daniel Andersson 31191f8cee desktop-exploded-view: Add some comments
This adds some comments in DesktopTaskViewModel. There are no semantic changes.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: N/A
Bug: 367353392
Change-Id: I484bf4d0f094c5b87716022ffcd3db85d8b85ef7
2025-02-06 16:14:50 -08:00
Daniel Andersson 4899bc2c80 Merge "desktop-exploded-view: Initial implementation" into main 2025-02-06 14:51:31 -08:00
Saumya Prakash f6496357e2 Remove back button and enable back gesture on SUW
According to new spec, for devices that have a different theme, Setup Wizard
should no longer have the back button, and instead should use the back
gesture in between screens.

Fix: 349495243
Flag: EXEMPT bugfix
Test: Set the System property for setup wizard device theme to be expressive. Rerun setup wizard and ensure the back button doesn't show up and the back gesture works. For the existing theme, the behavior should remain unchanged.

Change-Id: I6b8e95f4eeecdf7422c9f1c099b30a4fc2d2fd12
2025-02-06 22:17:46 +00:00
Fengjiang Li c324094762 Merge "[Memory Leak] Fix leak of TouchInteractionService from DisplayInfoChangeListener" into main 2025-02-06 09:49:27 -08:00
Winson Chung acca04d897 Merge "Move multi-instance suppport checking to ApiWrapper" into main 2025-02-06 08:17:55 -08:00
Fengjiang Li c5e7b955af [Memory Leak] Fix leak of TouchInteractionService from DisplayInfoChangeListener
Fix: 394672098
Flag: NONE - released code
Test: manual
Change-Id: I99bfd783e8be34066e29072f5c1a6719802bde05
2025-02-05 18:26:50 -08:00
Treehugger Robot de35987f27 Merge "Stub impl new multi-desks IDesktopTaskListener APIs" into main 2025-02-05 17:18:46 -08:00
Daniel Andersson 66288ed6fa desktop-exploded-view: Initial implementation
This is an initial implementation of the desktop exploded view. The
layout algorithm (implemented in OrganizeDesktopTasksUseCase) is
currently a basic placeholder.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 367353392

Change-Id: I6826a2583a3e0027c809d4fd3b9bab716f2f3b72
2025-02-05 15:56:27 -08:00
Treehugger Robot 8e5b44ad9c Merge "Introduce non-null itemInfo inside TaskView" into main 2025-02-05 15:09:39 -08:00
mpodolian 93c22f9e34 Added application shortcut extra to allow the Shell adding bubble.
Included an application shortcut extra in the arguments for system
drag and drop initiated from the taskbar. With this intent, the
Shell process can add an application shortcut bubble.

Bug: 388894910
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Have a shortcut and app icons in the taskbar.
Drag and drop both items over the bubble drop zone.
Observe that items are added to the bubble bar.
video: http://recall/-/gx8ASgewUeUS3QYohfrd1J/fnHDKrNWzJEzRw6rgIm0fG

Change-Id: I232da417facb22919a2bebd23e712c1d877c218e
2025-02-05 14:41:14 -08:00
Treehugger Robot 19d46bede8 Merge "[CD Taskbar] New NavigationBarPanelContext per instance of taskbar" into main 2025-02-05 12:47:18 -08:00
Treehugger Robot f08d861d12 Merge "Refactor: Update the way tintAmount is propagated to TTV" into main 2025-02-05 11:16:02 -08:00
Bill Yi bb0fa09356 Merge "Import translations. DO NOT MERGE ANYWHERE" into main 2025-02-05 10:05:34 -08:00
minch 32321ddf56 Introduce non-null itemInfo inside TaskView
Let `TaskView` have a non-null `itemInfo` even it has no
tasks (no corresponding TaskContainer). Thus, we can still
go forward to log the necessary info of the `TaskView`
without any tasks.

Flag: EXEMPT refactor
Fix: 391918297
Test: TaskViewItemInfoTest
Change-Id: Idd08eb9846b1cd2043dd0087bc3e0078bb0b8247
2025-02-05 17:57:45 +00:00
Ahmed Fakhry ea066cdc65 Stub impl new multi-desks IDesktopTaskListener APIs
This CL chain adds the new multi-desks APIs in `IDesktopTaskListener`
and a stub implementation in
`DesktopVisibilityController.DesktopTaskListenerImpl`.
Follow-up CLs will add the real impls.

Bug: 392978600
Test: m
Flag: EXEMPT new APIs without impl yet.
Change-Id: I360ef179769df16dbcf12a01d19d57a88bc82262
2025-02-05 17:48:12 +00:00
Jordan Silva 564d64c8cc Refactor: Update the way tintAmount is propagated to TTV
- Propagate the tintAmount using the Views instead of using a Flow.

This was done to minimize the usage of Flows to propagate animations
and progress through Views. It should improve the overall performance
of UI updates

Some stats about the number of collections:
- Entering Overview: ~4 collections
- Displaying Scrim: ~32 collections
- Hiding Scrim: ~35 collections
- With 4 apps on screen: ~140 collections

Bug: 390581380
Doc: go/launcher-overview-unified-taskviewmodel
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: OverviewImageTest
Test: TaskViewModelTest
Change-Id: Ice68edef12c7e3b2a26107b0fc6e62578de241b4
2025-02-05 15:25:59 +00:00
Jordan Silva bc124b18b8 Remove fullscreenProgress that is not being used
This flow was previously collected by TTVM and later removed by ag/30431716.

Bug: 390581380
Doc: go/launcher-overview-unified-taskviewmodel
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: OverviewImageTest
Change-Id: Ie0add87740b00da7d1c5e61c048dace543c47a66
2025-02-05 14:55:08 +00:00
Winson Chung 4443ff10f6 Move multi-instance suppport checking to ApiWrapper
- It's only used for App Pairs & Taskbar (both limited to quickstep
  launcher, and we need to use hidden api to query the multi-instance
  support per-activity.  This is necessary as there can be apps
  installed for a profile, but not the primary user.

Bug: 391611065
Flag: EXEMPT bugfix
Test: atest WMShellUnitTests
Test: Install a multi-instance app only for the non-primary user,
      ensure that we can see the multi-instance UI for these apps

Change-Id: I9d38f32aa38b27b2bffaa744c3f578423f7c7d86
2025-02-05 07:56:36 +00:00
Ben Lin 1b2e9f02b1 Update DesktopMode config for test.
Bug: 384568161
Test: atest
Flag: EXEMPT bugfix
Change-Id: Icf02be6f6cec5ed2d89ea8f647b7abbb212e768b
2025-02-05 05:08:47 +00:00
Sukesh Ram 5d8e6bcdee [CD Taskbar] New NavigationBarPanelContext per instance of taskbar
Create a new New NavigationBarPanelContext per instance of taskbar object for each new instance of taskbar.

Test: m
Bug: 394421505
Flag: EXEMPT not adding new behavior
Change-Id: I6c82140fac9e6a00f0462ea1a593c13f49c3deee
2025-02-04 18:08:25 -08:00