- Introduced title and titleCollapsed to change the text when expanded and collapsed using only 2 dots for truncate the text, similar to ellipsize="marquee".
- Removed ellipsize="marquee" from the XML to prevent chip relayout when entering in Overview. See b/406969521.
Fix: 406969521
Fix: 403193877
Flag: com.android.launcher3.enable_overview_icon_menu
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Change-Id: Ia95eb8b7ec6d22b9d576defe7c66a4950ee1dca3
`IconView` creates a new drawable and makes it mutate for scaling it during some animations. The `setDrawable` function there also performs more logic and invalidate the view. Thus, every time `setDrawable` is called in the `IconAppChipView`, even if the same drawable is provided, it will unnecessarily create a copy of the drawable, invalidate and redraw the whole view.
To prevent this inefficient behavior, a hash check has been introduced in `IconAppChipView`. This hash check skips the redundant logic if the same drawable is provided to `setDrawable`.
Bug: 402613435
Flag: com.android.launcher3.enable_overview_icon_menu
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Change-Id: I3d20fa6bfc7aaf79222469ad88080985d4c1d1a0
Surface reparenting was happening on every frame since we call
applyDepthAndBlur on each frame during animation. Instead we can do it
only when base surface is set. mBlurSurface should always be parented to
mBaseSurface so no point in calling it again and again.
Relative layer changes only when we either draw above or recents. While
drawing above recents, mBaseSurface relative layer should be used.
mBaseSurfaceOverride otherwise. No point to call this during animation.
Added perfetto traces comparison home->all apps, alongwith all other
generic overview scenarios which possibly could have caused jank is
added here:
https://drive.google.com/drive/folders/146K_4WLaOGQcZ1gsuhCFlOCzfZ-mJBw8?resourcekey=0-r1-NnNtYGH88d8DGEvnXZg&usp=sharing
Bug: 404647629
Test: Manual. Enter overview from Desktop tile / home.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: I567d6b8615685e5c50ef7b7b15787fa56cb2da79
If launcher is destroyed while the recents animation start is pending, then the taskanimationmanager and absswipeuphandler states are not properly cleaned up. Adding a new cleanup flow to handle this case.
Flag: EXEMPT bug fix
Fixes: 405642423
Test: adb shell cmd uimode night yes/no while TaskAnimationManager.mRecentsAnimationStartPending == true
Change-Id: I7bf1fc4fc07859f92d7aec6cd78deafa1214dd17
Fix the bug introduced by ag/32547343.
Getting the corresponding `DesktopTaskView` from the `deskId`
instead of `deskDisplayId`.
Bug: 406340124
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: Ifaa9a9602cb95c871dee16f874c2b4a51404aad1
Stash handle alpha animator was set to control the visibility of the
view. This caused issues with the state as sometimes the alpha animation
conflicted with the state of the bubble bar. And caused the handle to be
visible when the bubble bar (or handle) should not be.
Remove the ability for the handle alpha animator to manage the
visibility. We already have logic in place to ensure that the stash
handle is visible or invisible based on the state. And it is not needed
for the animator to manage it.
Bug: 392121302
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest NexusLauncherRoboTests
Test: move an app to bubble, move it back to fullscreen, check that
handle is hidden
Test: check that handle is hidden and shown when in app and opening
notif shade
Test: check that handle is hidden and shown when in app and locking and
unlocking device
Test: check that handle is shown when receiving bubbles in app and the
bar stashes after showing new bubbles
Change-Id: I4af8b4fa38f63b3cbc01f9cf59e66d7fc651ab13
Inside `RemoteTargetGluer`, create the `RemoteTargetHandle`
based on `GroupedTaskInfo`.
Bug: 406340124
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: m
Change-Id: I0603d0b05fbc4fa8042ef1da27b2cf95226969d9
With the dagger update the initialization happens in constructor which
we would avoid once we work on refactor and move it into a repository
class. The list will also be fetched from a different data source, so,
makes sense to delete it at the moment.
Bug: 406324964
Flag: EXEMPT BUGFIX
Test: Not applicable as code is removed
Change-Id: Iab8bb1e94677abf9b5b882f4d3485b002faf3e0f
Add default spring methods for running dismiss on a task.
Fix: 404206966
Test: Manual.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Ic7c5b82d6b504a31193ba85b0c79dd89be344c22
Next:
- Look into sorting tasks based on last active time.
- Will update task thumbnails as per latest UX.
- Need to ensure the logic that determines which task has focus when overview is launched.
Bug: 382769617
Test: manually run CUJs
Flag: com.android.launcher3.enable_alt_tab_kqs_flatenning
Change-Id: Ic1ab8a3a30af3d941e26439507e5a583540759e5
Revert submission 32704934-model-test-cleanup
Reason for revert: Droidmonitor created revert due to b/406588406. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:32704934-model-test-cleanup
Change-Id: Ieeb7f5b5699afeae27f946f060147bb68afc36e5
> Using Sandbox application everywhere to avoid test leaks
> Removing LauncherModelHelper and moving some utility methods to rules and extensions
Bug: 406521480
Flag: EXEMPT test only
Test: Presubmit
Change-Id: I17bd5ec2bdb0fc0cbe02be9c8ee76595effe3f11