Commit Graph

14268 Commits

Author SHA1 Message Date
Jagrut Desai cef287164f Fix Taskbar offset in launcher
This cl includes: adding support to stash controller to get device locked state. Use different taskbar offset before and after lock screen.

Test: Manual
Bug: 407589216
Flag: EXEMPT bugfix
Change-Id: I55b27d39049458c741efc9bec365cdbc27d4e012
2025-04-01 17:37:59 -07:00
Saumya Prakash f0ab519440 Merge "Ensure the back button is visible in SUW for simple view" into main 2025-04-01 10:28:55 -07:00
Andy Wickham 5994d29e20 Merge "Re-adds Workspace behind All Apps and ties to DepthController." into main 2025-04-01 09:59:56 -07:00
Pat Manning 8014b50abc Merge "Do not intercept touch on other actions if not enabled in ACTION_DOWN." into main 2025-04-01 09:07:18 -07:00
Schneider Victor-tulias f311ff67ff Merge changes Ib386c3b8,I2315e0af into main
* changes:
  Fix broken uses of TISBinder.refreshOverviewTarget
  Fix missing TAPL test state checks
2025-04-01 07:26:27 -07:00
Treehugger Robot 181a4b1911 Merge "Initialise and retain TaskViewModel in TaskView's constructor." into main 2025-04-01 06:22:15 -07:00
Pat Manning 3980b03b32 Do not intercept touch on other actions if not enabled in ACTION_DOWN.
Fix: 406405786
Test: Manual.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Ibd03917a2109307921642a681747709f113e279d
2025-04-01 12:22:34 +01:00
Uwais Ashraf e65743b7de Initialise and retain TaskViewModel in TaskView's constructor.
This means that the VMs are created on the bg threads in the ViewPool setup stage rather than at critical points in CUJs.

Bug: 395294954
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual - checking perfetto traces
Change-Id: I3aab5271d552e5f292533617a6842a046cb43bf1
2025-04-01 11:11:36 +00:00
Sunny Goyal 55c51ff06d Merge "Lazily loading theme icons" into main 2025-03-31 23:31:30 -07:00
Min Chen 7eba676ba6 Merge "Swtich to screenshot before trigger the desk launch" into main 2025-03-31 17:23:07 -07:00
Saumya Prakash 699be36c9b Ensure the back button is visible in SUW for simple view
Simple view is meant to provide an easier setup experience and this
means that the back button must be visible in SUW, even if the new
design choice is applied. This change adds a caveat to enable the back
button for this situation.

Fix: 396559615
Test: Enable/Disable simple view with the new theme applied and observe
the back button appear/disappear
Flag: EXEMPT bugfix

Change-Id: Ic58b5d87b2d0670c468222098a53293ae27b0206
2025-03-31 23:38:01 +00:00
Schneider Victor-Tulias cdf20df7f6 Fix broken uses of TISBinder.refreshOverviewTarget
TaskbarManager.setActivity doesn't get called again when TISBinder.refreshOverviewTarget is called because TIS isn't re-connecting to launcher. TISBinder.refreshOverviewTarget just forcefully updated the overview target, but TIS was still connected. So, QuickstepLauncher.onTISConnected wouldn't run again to call TaskbarMAnager.setActivity(this). Calling it manually to fix failing TaplTestsNexus tests with recents in window flags enabled

Flag: com.android.launcher3.enable_launcher_overview_in_window
Flag: com.android.launcher3.enable_fallback_overview_in_window
Flag: com.android.launcher3.enable_overview_on_connected_displays
Bug: 377678992
Test: TaplTestsNexus.testDismissWithKeyboardShortcut and TaplTestsNexus.testSearchWithKeyboardShortcut
Change-Id: Ib386c3b8cfc5a9167f7f219dba0cccec344446b6
2025-03-31 16:16:15 -07:00
Schneider Victor-Tulias 924c181fcd Fix missing TAPL test state checks
Flag: com.android.launcher3.enable_launcher_overview_in_window
Bug: 377678992
Test: pre/postsubmit
Change-Id: I2315e0af7b0567368ddc194a2d5ec7b3e563175f
2025-03-31 16:15:42 -07:00
minch 624f96dd72 Swtich to screenshot before trigger the desk launch
Bug: 400870600
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I7a622a2fa865ddb26d902e0bf13f1e69257e2dfa
2025-03-31 22:10:38 +00:00
Jagrut Desai 75a26fc793 Merge "Set Content Description for Taskbar edu animation view" into main 2025-03-31 14:55:28 -07:00
Jagrut Desai 87a09c4374 Merge "Taskbar Divider Popup Icon changes" into main 2025-03-31 14:55:04 -07:00
Wen-chien Wang edf603cf95 Merge "pin-shortcut: Make single recent task pinnable from taskbar" into main 2025-03-31 14:12:43 -07:00
Sunny Goyal 50884dadfe Lazily loading theme icons
Theme icons are generated and stored in cache, but only loaded if requested in lookup flags
This allows to keep the memory usage low, but not loading theme icons for all the apps

Bug: 381897614
Flag: com.android.launcher3.extendible_theme_manager
Test: Updated tests
Change-Id: I494eab9c4f70670e6f5aeb864ed5287f6b9f1b9e
2025-03-31 13:07:03 -07:00
Treehugger Robot a32268b55a Merge "Do not run expressive dismiss when removing a task if grid only overview is not supported." into main 2025-03-31 12:14:42 -07:00
Treehugger Robot 86ad2f1b34 Merge "Fix App Chip disappearing when tapping multiple times to expand" into main 2025-03-31 11:14:38 -07:00
Pat Manning d9af44a159 Do not run expressive dismiss when removing a task if grid only overview is not supported.
Fix: 406982143
Test: Manual.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Ifc7557a06134a9c8e2765f684797d03ad4b4e4a4
2025-03-31 17:56:58 +01:00
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
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