Commit Graph

23356 Commits

Author SHA1 Message Date
Jagrut Desai b9214a935b Taskbar Divider Popup Icon changes
Test: Manual
Bug: 379158656
Flag: com.android.wm.shell.enable_gsf
Change-Id: Ifc603d18e5aae2b6d61ba682515f35de42e2a533
2025-03-31 09:52:08 -07:00
Xiaoqian (Daisy) Dai b5006ef5fb Merge "desktop-exploded-view: only create header when needed" into main 2025-03-31 09:33:07 -07:00
Alex Chau 7c0241ae0e Merge "Add missing onIDPChanged listener in RecentsActivity" into main 2025-03-31 08:47:13 -07:00
Alex Chau d80be596a0 Add missing onIDPChanged listener in RecentsActivity
- As part of b/405384582's investigation I discovered that when changing navigation mode with 3P Launcher, DeviceProfile.isGestureMode didn't get update when switching between gesture and 3 button
- This is because unlike Launcher activity, RecentsActivity doens't listen for IDP changes and update its DeviceProfile accordingly, adding the listener solved the problem
- This also makes  b/405384582 no longer reproducible for 3 button mode

Bug: 405384582
Test: Switch navigation mode with 3P launcher
Flag: EXEMPT bugfix
Change-Id: I85b57f5c85d7356517d04e601b705ec0cade2d96
2025-03-31 06:37:41 -07:00
Treehugger Robot 767d2a98a4 Merge "Use enhanced blur radius for overview blur" into main 2025-03-31 06:33:11 -07:00
Alex Chau 79349ab7d7 Merge "Make sure animation properties are applied correctly for non-gestural transitions" into main 2025-03-31 05:46:51 -07:00
Jordan Silva dc7b80758d Fix App Chip disappearing when tapping multiple times to expand
Instead of incrementing and decrementing the zIndex, we set a fix value: elevation + constant. And we reset the value back to the initial elevation. This avoids the elevation becoming negative when tapping on the chip multiple times.

Fix: 407505697
Flag: com.android.launcher3.enable_overview_icon_menu
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Test: Manual. Tap multiple times on the App chip.
Change-Id: Icb1b5df1674131416ec6722adb8f2c2563d81f18
2025-03-31 13:43:23 +01:00
vinayjoglekar 47f0ac6d7f Use enhanced blur radius for overview blur
Fix: 406442306
Test: Manual. Enter overview from app / home.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: I5ca2265c6127faaa8cdea09f2a43da961a38045a
2025-03-31 04:03:48 -07:00
Treehugger Robot fb28c6e3b9 Merge "Revert^2 "Notify StateManager of workspace reveal animations."" into main 2025-03-31 02:47:32 -07:00
Treehugger Robot 0c30f0e01b Merge "Perf tracing for methods that can be slow" into main 2025-03-31 02:30:24 -07:00
Xiaoqian Dai 31a944cbb4 desktop-exploded-view: only create header when needed
Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
BUG: 353965691

Change-Id: Id5b0fb6d458e69bcd3b6bafd9f9898160efe902a
2025-03-30 18:55:47 +00:00
Andy Wickham ec76ce32c2 Revert^2 "Notify StateManager of workspace reveal animations."
This reverts commit 62ad6217ac.

Reason for revert: we need the original fix

Fix: 405836159
Fix: 406159877
Fix: 406157493
Test: Manual (swipe home and immediately to all apps)
Test: atest FlickerTestsIme:com.android.server.wm.flicker.ime.CloseImeOnGoHomeTest#cujCompleted[ROTATION_0_3_BUTTON_NAV] -- --abi arm64-v8a
Flag: EXEMPT bugfix
Change-Id: Ibc58cbef929422ee23d452f0db40b082debce3a4
2025-03-30 06:15:13 +00:00
Andy Wickham 3c7f59ac4b Re-adds Workspace behind All Apps and ties to DepthController.
I had previously hidden workspace with All Apps blur because the
approaches I had tried looked poor. However, I found that this
approach is both simple and relatively performant! Essentially,
wallpaper is still pushed back and blurred by the DepthController.
When the DepthController applies blur, we also apply it to the
Workspace and Hotseat. In addition, we scale these at the same
rate as the depth when swiping to all apps. Perhaps we can have
the DepthController control this scale too, but for now we just
use the same Interpolator. The result looks pretty cohesive.

Demo: https://drive.google.com/file/d/1KyKc0c5BsAEOrT3K4buOW3U9-Gk0e7vE/view?usp=sharing&resourcekey=0-MI1gdQMul0cro9IEkQDEng
App exit demo (slightly outdated): https://drive.google.com/file/d/1r-VhzGhlI0300_6IUXthty3Tm1cgw9aI/view?usp=sharing&resourcekey=0-nxZ2BHW2UN34lr567I0RdA

Bug: 400827727
Bug: 371343636
Test: Manual
Flag: com.android.launcher3.all_apps_blur
Change-Id: I5dc66619a001ccd32f37272cf77966cbe1bf8ef6
2025-03-29 08:12:29 +00:00
Treehugger Robot b40c6b9fb3 Merge changes from topic "update-marquee-chip" into main
* changes:
  Fix chip elevation when expanded
  Update marquee to show only when chip is expanded
2025-03-28 16:53:28 -07:00
Treehugger Robot 2c41ae03a6 Merge "Improve input consumer selection reason logging" into main 2025-03-28 16:00:07 -07:00
Sunny Goyal 45f1a5190c Merge "Using item inflater for predicted items and previews" into main 2025-03-28 15:18:11 -07:00
Jagrut Desai ef2a69715c Set Content Description for Taskbar edu animation view
Test: Manual, Presubmit
Bug: 400902721
Flag: EXEMPT bugfix
Change-Id: I318e36720a507f1328aaf856c75c8d837dd6b8fa
2025-03-28 14:44:37 -07:00
Alex Chau 646422456d Make sure animation properties are applied correctly for non-gestural transitions
- In TaskViewSimulator.addAppToCarouselAnim, make sure carouselScale stays at 1f when it's atomicEvent (3 button, KEYCODE_APP_SWITCH, keybaord etc,), as we transition direclty from fullscreen to Overview without involving the carousel
- Made AnimatorSet pass to onPrepareGestureEndAnimation @NonNull, to avoid diverged code path handling null AnimatorSet.
  - For 3-button/Keyboard interactions, pass the gesture AnimatorSet with a boolean that indicates atomic event; some float peroperties will immediately settle while it's atomic: GRID_PROGRESS, TASK_THUMBNAIL_SPLASH_ALPHA
  - For home gesture, pass a new AnimatorSet that will be played immediately with 0 duration
- Converted onPrepareGestureEndAnimation to Kotlin, and removed the code path when animatorSet is null
  - updateGridProperties is now called based on displayOverviewTasksAsGrid, which is effectively the same check as endTarget == GestureState.GestureEndTarget.RECENTS;
  - RECENTS_GRID_PROGRESS is no longer caleld per remoteTargetHandle, which duplicates the animaton for nothing, as it's a per recents rather than per task property

Fix: 405384582
Fix: 407059929
Flag: EXEMPT bug fix
Test: Swipe up/KEYCODE_APP_SWITCH/Recents button with default and 3p Launcher
Change-Id: I56ba9137219f6d7cb982d8e5a3534f09ba3d189d
2025-03-28 21:42:03 +00:00
Jordan Silva 20d700385e Fix chip elevation when expanded
Update the chip z-index of IconAppChipView when bringing it to front or sending it back. This change fixes the elevation when chip is expanded over another chip for split tasks.

Update the task z-index when bottom row chip is expanded to guarantee the chip will be displayed above other TaskVIews.

Fix: 406696829
Fix: 317007147
Flag: com.android.launcher3.enable_overview_icon_menu
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Change-Id: Ie68898beea0a012ba083fe1b950e82896ea14c41
2025-03-28 14:29:55 -07:00
Jordan Silva 612aac88cb Update marquee to show only when chip is expanded
- 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
2025-03-28 14:28:54 -07:00
Bill Yi 61bf9177a8 Merge "Import translations. DO NOT MERGE ANYWHERE" into main 2025-03-28 14:18:34 -07:00
Will Osborn 5c00b41505 Merge "Refactor RecentsAnimationDeviceState and TaskAnimationManager using new PerDisplay library" into main 2025-03-28 14:05:39 -07:00
Sunny Goyal bdd3f29342 Using item inflater for predicted items and previews
Bug: 406668365
Test: Verified manually in picker
Flag: EXEMPT refactor
Change-Id: If8ca919a19b7d1b6cbdc33823a9f294df1afa968
2025-03-28 13:05:25 -07:00
Liran Binyamin 9e4d519f0f Merge "Updates to bubble bar drag zones" into main 2025-03-28 12:08:41 -07:00
Jordan Silva 12a154e1e2 Merge "Skips same drawable for app chip to improve performance" into main 2025-03-28 11:27:22 -07:00
Uwais Ashraf 2564a53118 Perf tracing for methods that can be slow
Bug: 395294954
Flag: EXEMPT - logging
Test: Manual - checking perfetto traces
Change-Id: I7aac87fe9824c3fdf6e01c91a5c16d91a17de4f2
2025-03-28 17:53:43 +00:00
Schneider Victor-Tulias 41c5083dd9 Improve input consumer selection reason logging
Flag: EXEMPT debug logging
Fixes: 407050156
Test: checked TIS logs
Change-Id: I96cbbde1e3da32b75b7c0076719f6b1ee859fdba
2025-03-28 13:34:42 -04:00
Ats Jenk 6965cc0d25 Merge "Control stash handle visibility directly" into main 2025-03-28 10:01:02 -07:00
Jordan Silva eefc673796 Skips same drawable for app chip to improve performance
`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
2025-03-28 09:14:39 -07:00
Treehugger Robot b9fd24446b Merge "Reland "Reduce calls to surface reparenting and set relative layer"" into main 2025-03-28 08:17:47 -07:00
Min Chen 3ce268355d Merge "Get DesktopTaskView from deskId" into main 2025-03-28 07:32:14 -07:00
Alex Chau cb2b925a50 Reland "Reduce calls to surface reparenting and set relative layer"
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
2025-03-28 13:01:22 +00:00
Will Osborn ec8d20d0ed Refactor RecentsAnimationDeviceState and TaskAnimationManager using new PerDisplay library
Test: locally tested on Tangor
Bug: 399371607
Flag: EXEMPT refactor

Change-Id: Ie52f53a2d5dee757a8dc3b19248736bc15e5e0c6
2025-03-28 12:08:36 +00:00
Will Osborn fbfb7bf8b3 Merge "Fix launcher immutable list UnsupportedOperationException on swipe up" into main 2025-03-28 02:37:13 -07:00
Treehugger Robot 530ccf25a5 Merge "Forcefully finish recents animations when launcher is detroyed" into main 2025-03-28 01:55:03 -07:00
Johannes Gallmann 2fb39cf4f2 Merge "Play haptic on ACTION_DOWN for 3-button-nav buttons" into main 2025-03-27 23:48:51 -07:00
Bill Yi c2ed65f17f Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I21b0c49b089c2045773ba4f4a68520a0e260621b
2025-03-28 05:25:39 +00:00
Eric Sum 0f02613b08 Merge "Add ACTION_DESKTOP_MODE_EXIT_MODE_ON_LAST_WINDOW_CLOSE latency (launcher)." into main 2025-03-27 22:19:21 -07:00
Schneider Victor-Tulias 8d72503263 Forcefully finish recents animations when launcher is detroyed
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
2025-03-27 23:03:40 -04:00
Treehugger Robot de9976afa5 Merge "Create RemoteTargetHandler based on GroupedTaskInfo" into main 2025-03-27 16:50:20 -07:00
minch 1f1f4a6267 Get DesktopTaskView from deskId
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
2025-03-27 23:46:27 +00:00
Treehugger Robot d1b30baedb Merge "Update SplitSelectDataHolderTest for HSUM" into main 2025-03-27 16:31:45 -07:00
Shamali Patwa f216f3d2ce Merge "Delete the filter code as it will be provided differently in refactor" into main 2025-03-27 16:19:36 -07:00
Ats Jenk f46ebe0378 Control stash handle visibility directly
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
2025-03-27 15:23:38 -07:00
Treehugger Robot 39e6b8c4f6 Merge "[CD][Alt+Tab] Flatten Alt + Tab structure" into main 2025-03-27 14:49:55 -07:00
Treehugger Robot d81b43802a Merge "Add showPinningView to TaskbarPinningControllerTest." into main 2025-03-27 14:45:20 -07:00
minch 8fbd61aca7 Create RemoteTargetHandler based on GroupedTaskInfo
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
2025-03-27 21:39:30 +00:00
Vinit Nayak b988ca81b0 Update SplitSelectDataHolderTest for HSUM
Test: atest NexusLauncherTests:com.android.quickstep.util.SplitSelectDataHolderTest
Flag: EXEMPT test
Fixes: 398855338
Change-Id: Ia224be5291d9aa37f76ec0e1ac3d8096ec73d7c0
2025-03-27 17:20:44 -04:00
Shamali P 472709d9ca Delete the filter code as it will be provided differently in refactor
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
2025-03-27 14:15:05 -07:00
Alex Chau e01a996b58 Merge changes I3c43ab80,Ib19011cd into main
* changes:
  Revert "Reduce calls to surface reparenting and set relative layer."
  Revert "Add logs for debugging to overview blur"
2025-03-27 13:48:52 -07:00