Commit Graph

14668 Commits

Author SHA1 Message Date
Treehugger Robot c3a397b01c Merge "Skip already running check when switching in KQS" into main 2025-05-01 15:29:28 -07:00
Brian Isganitis 3b9b36255b Merge "Use LauncherPrefs for stashed handle region dark." into main 2025-05-01 13:46:44 -07:00
Xiaoqian (Daisy) Dai 8eda6e708f Merge "desktop-exploded-view: Implement the activate window behavior" into main 2025-05-01 10:41:06 -07:00
Ajinkya Chalke 011422cdb4 Skip already running check when switching in KQS
- In KQS existing code there is a check that returns early if a user is
  trying to switch to a running task. This check returns true for a task
  that is not running thus creating an issue when user tries to switch
  to that task using KQS.
- While the root cause of the issue will take time to fix, this
  temporary check ensures that we workaround it when flatenning
  heirarchy feature is enabled. This issue happens when multi-desk
  backend flag is true and flatenning flag will always be true when
  multi-desk is true (given how the features are timed for release).

Flag: com.android.launcher3.enable_alt_tab_kqs_flatenning
Test: m
Bug: 414410702
Change-Id: Ia35d6706a1512efbb4feca0128a9d59cd930df2f
2025-05-01 15:22:28 +00:00
Jordan Silva de6ce21ed5 Reset IconAppChipView when DesktopTaskView is recycled
Bug: 411406340
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual
Change-Id: I119599d575c82b6cce71ac3cbb4b709914f34bda
2025-05-01 03:07:55 -07:00
Treehugger Robot 675282b181 Merge "Revert^2 "Restrict nav mode UI checks within primary display"" into main 2025-04-30 20:53:19 -07:00
Treehugger Robot 1ca1bf9c9d Merge "Apply fallback overview scrim, overviewactions and clearall in battery saver mode." into main 2025-04-30 19:13:54 -07:00
Brian Isganitis e1a3329c39 Use LauncherPrefs for stashed handle region dark.
Flag: EXEMPT refactor
Bug: 324485921
Test: go/testedequals
Change-Id: Ib69ba1595eadd318521c88069cd867988f66c4bc
2025-04-30 16:40:46 -04:00
Jagrut Desai 95ee12ff94 Merge "Auto-Stashing Functionality for Pinned Taskbar" into main 2025-04-30 13:30:06 -07:00
Willie Koomson e11651e93a Merge "Implement collectWidgetEvent in QuickstepWidgetHolderListener" into main 2025-04-30 13:01:36 -07:00
Jagrut Desai f52ffc1232 Auto-Stashing Functionality for Pinned Taskbar
This cl includes :
- Refactor to remove unpinning/pinning in desktop mode with refactor of DisplayController, TaksbarPinningController, and its tests.
- Combined the auto stashing conditions under one method shouldAllowTaskbarToAutoStash() which takes in consideration isTransientTaskbar, isInDesktop, and Always Show Taskbar option is turned on/off in desktop mode.
- enabled taksbar divider popup support in desktop mode.
- Intorduced animation for pinned taksbar when autostadhing is enabled.
- Enable to onSwipeToUnstashTaskbar for TaskbarInputStashController for pinned taksbar in desktop mode.

Test: Presubmit, Unit, Manual
Bug: 381535785
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ie5ecf3a3c72bf8dfadf2d0c908269305fe5bad0b
2025-04-30 10:39:58 -07:00
Willie Koomson 086e7b1d10 Implement collectWidgetEvent in QuickstepWidgetHolderListener
This change updates QuickstepWidgetHolderListener to implement the new
AppWidgetHostListener.collectWidgetEvent API.

Bug: 364655296
Test: Manual, interact with Launcher and check that events are logged
Flag: android.appwidget.flags.engagement_metrics

Change-Id: I9bf859f18025a49ef98e57e32e4b53e6547bd84b
2025-04-30 16:55:20 +00:00
Jordan Silva 8517ba500d Fix: Prevent app chip being destroyed for DesktopTask
DesktopTask shares the same iconView between different TaskContainers. When destroying a single Task in DesktopTask should not reset this shared IconAppChip.

Fix: 411406340
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual
Change-Id: I40f144c836715290eabb9db49ed0582986a11945
2025-04-30 09:46:51 -07:00
Mykola Podolian 5259038c6f Merge "Launcher TAPL test for dragging task bar icon to the bubble bar." into main 2025-04-30 09:29:47 -07:00
vinayjoglekar 45cb055158 Apply fallback overview scrim, overviewactions and clearall in battery saver mode.
1. BlurFallbackStyle/BlurStyle will now be applied in Launcher startup.
   When "updateBlurStyle" is called, individual element style's swap
   happens as per blur style.
2. "hasOpaqueBg" background will now be checked in "applyDepthAndBlur"
   for setting the "currentBlur" value.

Bug: 409758306
Test: Manual. go to overview, enable/disable battery saver mode.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: Ic9030c2b267867b9124705426dd51deb1b30ca55
2025-04-30 17:23:42 +01:00
Treehugger Robot f4b64aaebf Merge "Revert^2 "Store bubble bar state in sysui proxy"" into main 2025-04-29 18:11:26 -07:00
Toshiki Kikuchi d1a0e640cb Revert^2 "Restrict nav mode UI checks within primary display"
This reverts commit 9d7b814eec.

Reason for revert: Cache the taskbar primary display to reduce the number of binder calls and calm down Droidmonitor. Please check the difference between PS1 and PS2.

Bug: 414092022
Bug: 413244466
Bug: 408631713
Change-Id: I24138de2e2b9975fadcdf4a27402e06e212e4a19
2025-04-29 18:00:47 -07:00
Ats Jenk ac16eb2d73 Revert^2 "Store bubble bar state in sysui proxy"
This reverts commit fbfec0d3e1.

Reason for revert: Per the comment in the bug, this test was still failing after the rollback: https://b.corp.google.com/issues/413593389#comment7. The real culprit was a flag which was rolled back here: https://b.corp.google.com/issues/413593389#comment10.

Change-Id: Idd516b7c8576a3668f6248d8440da89867823df2
2025-04-29 15:38:05 -07:00
mpodolian 9764250b60 Launcher TAPL test for dragging task bar icon to the bubble bar.
Added a test and TAPL objects to check dragging taskbar icons to the
bubble bar.

Fixes: 388910897
Test: TaplTestTaskBarIconDrag
Flag: EXEMPT test
Change-Id: I8a3e64a83c72a9f6b89b2f8a875ca6565d501701
2025-04-29 15:32:41 -07:00
Pierre Barbier de Reuille 9f23a4cb06 Merge "Enable DesktopExperienceFlags in developer option for features in teamfood" into main 2025-04-29 15:21:14 -07:00
Xiaoqian Dai 107f85d20c desktop-exploded-view: Implement the activate window behavior
Clicking on one task window in the desktop exploded view, it should
activate that task window.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 353948437, 410888109
Change-Id: I1836bf0babcec039ef76b13ecd40f87a8ab4d822
2025-04-29 22:03:41 +00:00
Ats Jenk 861f887dfe Merge changes I91a3b558,Ifc9c391a,I3da2bc22,Ied187c63,I859b7359 into main
* changes:
  Store bubble bar stashed state during rotation [6/N]
  Restore bubbles without affecting bar state [5/N]
  Do not animate bubbles from initial update [4/N]
  Store and restore selected bubble and expanded state [3/N]
  Do not animate bubble bar for initial state [2/N]
2025-04-29 13:17:42 -07:00
Treehugger Robot 589dfc9672 Merge "No recents-in-window on default display if enableOverviewOnConnectedDisplays is true" into main 2025-04-29 10:39:08 -07:00
Treehugger Robot e2a5c2c10c Merge "Handle addDesktopButton visibility wrt desk num limits" into main 2025-04-29 08:14:18 -07:00
Will Osborn 51943297be No recents-in-window on default display if enableOverviewOnConnectedDisplays is true
Bug: 413257766
Flag: com.android.launcher3.enable_overview_on_connected_displays
Test: local + presubmit
Change-Id: I0ae36d4bec4cf962e4c71304c82838dbf2bf518f
2025-04-29 15:11:27 +00:00
Treehugger Robot 516a457dbe Merge "Move enableGestureNavOnConnectedDisplays to using DesktopExperienceFlags" into main 2025-04-29 07:25:41 -07:00
Treehugger Robot 7103e478b3 Merge "Register KEY_GESTURE_TYPE_RECENT_APPS[_SWITCHER] in the quickstep" into main 2025-04-29 04:53:12 -07:00
Treehugger Robot dcc634e0bb Merge "Notify StateManager of predictive back animation." into main 2025-04-29 03:52:30 -07:00
Will Osborn 43bc12baf2 Merge "Refactor OverviewOnConnectedDisplays flag" into main 2025-04-29 02:01:47 -07:00
Ats Jenk 1133492a3e Store bubble bar stashed state during rotation [6/N]
Store and restore bubble bar stashed state.
When bubble bar is restored from saved state, restore the bar state to
stashed, collapsed or expanded.
This ensures correct positioning of the bar on screen, before we receive
an update from shell.

Bug: 357115534
Test: bubble bar collapsed on home screen, rotate device and check
    bubble bar remains in correct position and collapsed
Test: bubble bar stashed in app, rotate device and check bubble bar
    remains stashed
Test: bubble bar and taskbar shown while in app, rotate device,
    bubble bar remains shown after rotation, not expanded or stashed
Test: bubble bar is expanded on home screen, rotate device and
    check bubble bar remains expanded
Test: bubble bar is expanded in app, rotate device and check bubble bar
    remains expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I91a3b5582a4af753e9e54156358b2ce9adb841c7
2025-04-28 18:45:01 -07:00
Ats Jenk 8ed27029d4 Restore bubbles without affecting bar state [5/N]
When we restore bubbles after taskbar is recreated, we should not modify
the bubble bar state as part of restoring the bubble views. Bubble bar
state is restored separately.
Create new helper method to restore bubbles without affecting bubble bar
state.

Bug: 357115534
Test: have bubble bar expanded on top of an app, rotate device multiple
  times back and forth, check that bubble bar remains expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ifc9c391a1a367535daa3b83283fe145824294bcc
2025-04-28 18:44:28 -07:00
Ats Jenk 6c7cb1a5f0 Do not animate bubbles from initial update [4/N]
Bubbles that are restored with initial update should not be animated in.
If we restore the bubble bar after rotation, we need to show it
immediately. Attempting to animate the bubbles from initial update
causes the UI to flicker.

Bug: 357115534
Test: on home screen, have bubble bar expanded, rotate device, check
  bubble bar bubbles do not flicker after rotation
Test: have no bubbles in bubble bar, trigger a bubble, check it is
  animated
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I3da2bc22588c0f5d2dd9c7a3adfcd2c19c339809
2025-04-28 18:44:26 -07:00
Ats Jenk 14474695a2 Store and restore selected bubble and expanded state [3/N]
When bubble bar gets recreated, store the expanded state and selected
bubble.
Allows us to show the bubble bar in previous state after rotation,
before shell has been able to send us an update.

Bug: 357115534
Test: on home screen, have bubble bar expanded, rotate device, check
  bubble bar remains expanded
Test: in app, have bubble bar expanded, rotate device, check bubble bar
  remains expanded
Test: have bubble bar collapsed, rotate device, check it is not expanded
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ied187c638287599297e15db77efdf44bd701d559
2025-04-28 18:44:23 -07:00
Andy Wickham ae48c582e9 Notify StateManager of predictive back animation.
This way if you go to a different state like All Apps, that
existing animation can be cancelled.

This is essentially the same as b/405836159, but for exiting an app
via predictive back rather than standard home gesture.

Demo: https://drive.google.com/file/d/1x66LHDMQLArZX7sO3RBcI-M-vWW_icRg/view?usp=drive_link&resourcekey=0-_0FYAfonv7YC9u8mCmm07Q

Fix: 412562139
Flag: com.android.launcher3.all_apps_blur
Test: Open app from homescreen, go back, swipe to All Apps quickly.
Change-Id: I83973df5702b271853149dbea5baa1781358c207
2025-04-29 01:14:28 +00:00
Li Lin 6e718cffb1 Merge "Show Growth Framework nudge driven by nudge payload." into main 2025-04-28 17:01:20 -07:00
Min Chen 31f5e79ffd Merge "Fix integration tests with multi-desks on" into main 2025-04-28 16:44:30 -07:00
Pierre Barbier de Reuille 76757afa3f Enable DesktopExperienceFlags in developer option for features in teamfood
Bug: 407954908
Test: Manual
Flag: EXEMPT (flag infra)
Change-Id: I354906d0d5b20eff2ef981da3a021290f22afe43
2025-04-28 16:03:52 -07:00
Pierre Barbier de Reuille bb3afc1457 Move enableGestureNavOnConnectedDisplays to using DesktopExperienceFlags
Also enable it by default, as this is now in teamfood.

Flag: EXEMPT (flag infra)
Test: Build and run
Fix: 414440345
Change-Id: I3389bc2ad16b65761eaaccceef91a1a80f6dc3f0
2025-04-28 15:19:15 -07:00
Li Lin 0f82810cdb Show Growth Framework nudge driven by nudge payload.
Current implementation of the nudge will show at default position
(bottom left corner) and may extended to other position in the future.
More detail at: go/al-growth-framework-nudge

Bug: 398033012
Test: NudgeControllerTest.*
Flag: com.android.launcher3.enable_growth_nudge
Change-Id: Idff9d62a5b1b26aa1cfbef5817f5425f8e94b7c9
2025-04-28 13:59:30 -07:00
Treehugger Robot 51ebe952be Merge "Enable enableAltTabKqsOnConnectedDisplays in Desktop Experience developer option" into main 2025-04-28 13:57:54 -07:00
Treehugger Robot 3bde3a8331 Merge "Update blur style for more things." into main 2025-04-28 13:51:25 -07:00
Treehugger Robot 075869da85 Merge "Renaming CONTAINER_PREDICTION to CONTAINER_ALL_APPS_PREDICTION" into main 2025-04-28 12:52:27 -07:00
Priyanka Advani (xWF) 9d5903bb10 Merge "Revert "Restrict nav mode UI checks within primary display"" into main 2025-04-28 12:18:34 -07:00
Ats Jenk f1f507e8c3 Do not animate bubble bar for initial state [2/N]
Initial state for bubble bar does not need to be animated.
Especially if it is sent after rotation. In that case we do not want it
to animate.
When launcher is rotated, taskbar is recreated. After getting recreated,
we receive the initial state from WMShell for the bubbles again. Part of
the initial state is whether bubble bar is expanded or not.

Bug: 357115534
Flag: com.android.wm.shell.enable_bubble_bar
Test: rotate device
Change-Id: I859b73597c8f286069f384dcdea0e3a5296e0073
2025-04-28 10:37:55 -07:00
Steven Ng 776e157934 Register KEY_GESTURE_TYPE_RECENT_APPS[_SWITCHER] in the quickstep
Before this change, the overview keyboard shortcut pipeline is as follow:
PhoneWindowManager (System server)
StatusBarManagerService (System server)
CommandQueue (SysUi)
Recent (SysUi)
OverviewProxyRecentsImpl (SysUi)
TISBinder (Quickstep launcher)
This cross-process communication chain through the system server, SysUI, and quick step launcher created significant challenges. Firstly, it complicated efforts to pass additional data to the key gesture handler. Secondly, it was less performant than the streamlined new approach. Lastly, the StatusBarManagerService's responsibilities were ambiguous because it also handled unrelated tasks, such as overview, wallet.

Flag: com.android.window.flags.enable_key_gesture_handler_for_recents
Test: atest NexusLauncherTests:com.android.quickstep.input.QuickstepKeyGestureEventsHandlerTest
Test: atest NexusLauncherTests:AllAppsActionManagerTest
Bug: 406452076
Change-Id: I2899e49c8c0a44c6ad58228db1c9eb587daf68c4
2025-04-28 17:19:35 +00:00
Fengjiang Li 14c9e2b464 Merge "[Memory Leak] Avoid adding duplicated OnScrollChangedListener to RecentsView" into main 2025-04-28 09:35:58 -07:00
Sunny Goyal 07cfe33533 Renaming CONTAINER_PREDICTION to CONTAINER_ALL_APPS_PREDICTION
This avoids confusion with CONTAINER_HOTSEAT_PREDICTION

Bug: 390572144
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: I0e110e2884dd0566bd2e621e60e7458605b9bad7
2025-04-28 09:30:12 -07:00
Priyanka Advani (xWF) 9d7b814eec Revert "Restrict nav mode UI checks within primary display"
This reverts commit 3ccfdbf6c4.

Reason for revert: Droidmonitor created revert due to Jank regression b/413244466.

Change-Id: I09276810e3611b54526ed3d2af7a35949a412b0c
2025-04-28 09:13:46 -07:00
Matthew Mourgos 788c479e8b Merge "Check showHomeBehindDesktop to allow swiping up for overview gesture" into main 2025-04-28 09:07:47 -07:00
Pat Manning edaab56ed6 Merge "Cancel ongoing dismiss animation when Launcher state changes." into main 2025-04-28 05:14:24 -07:00