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
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
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
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
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
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
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
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
- 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
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
- 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
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
Bug: 390665752
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: manual on desktop device. verify correct taskbar is shown
on home screen, in overview, in desktop mode, with fullscreen
app shown. Verify opening/launching apps from taskbar works
as expected.
Change-Id: I5c1e21799609c28ec44cc190bfc681934907199f
This CL replaces
executeForTouchInteractionService(tis -> executeForTaskbarManager()) with
executeForTaskbarManager() in TouchInteractionService, as `tis` is unused.
Bug: 391786915
Test: m
Flag: EXEMPT refactor
Change-Id: I573a1717aa237f5870157ed95fec4f864a669322
> Merging come methods to BaseActivtiy
> Separating wallpaper theme implementation to an independent class
Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: I8cdb6d1520beff3f8226b62c5b7eafd48b2c674f
Remove use of PendingAnimation for task dismiss.
Fix: 389080698
Test: Manual.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Ifdfd7d8ef78bba5d10ff6f157635430637805584
The newly added NOT_KEYGUARD category enables hosts that shows all
widgets to let widgets opt out from being displayed in keyguard like
surfaces.
Bug: 394047125
Test: Unit tests and support app
Flag: EXEMPT bugfix
Change-Id: Ibaab0c8a052700b77289cd571bca33e3d96fa09f