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
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
> Using callback patter for various change events instead of routing it
via TIS
Bug: 386288280
Test: Presubmit
Flag: EXEMPT refactor
Change-Id: I95577d6a1c17103cb947ef1200c1c22b68fd1d9c
Force 3 Button Mode on External Display by Default.
Test: m
Bug: 383087890
Flag: com.android.window.flags.enable_taskbar_connected_displays
Change-Id: I197be57f2abbaa533fd165d74f14a13774de5bb3
Use variable constrained within TaskbarManager for primary displays and add external window contexts as new displays are added. Ensures the lifecycle of window context map isn't tied to the required instances of primaryWindowContext.
Test: m
Bug: 395702003
Bug: 393984037
Bug: 391653300
Flag: com.android.window.flags.enable_taskbar_connected_displays
Change-Id: Idc461b8e6e249060feffac703dff1bf7d5974512
* This can be launched from desktop windowing, which means the
surfaces of the apps can start in any position/crop.
* Default the leash tasks to start at 0, 0 and let their parent
surfaces determine correct starting position
* Set the stage roots to start at the correct end bounds
Test: Launched from workspace, DW, taskbar
Fixes: 372837890
Flag: EXEMPT bugfix
Change-Id: Ie2cd012e117f645794e5119485cc50d8e1dd9cdf
- 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
- 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
- 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
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
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
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
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
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
- 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
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