Commit Graph

14911 Commits

Author SHA1 Message Date
Uwais Ashraf
7d640afaba Don't launch a coroutine job if no jobs to cancel
Flag: com.android.launcher3.enable_coroutine_threading_improvements
Bug: 417598777
Test: Presubmits
Change-Id: I474e3e12faf2886b593571e9625a1d16df742c0d
2025-05-23 10:50:38 +00:00
Treehugger Robot
5ae4fb14f4 Merge "Wait for all springs to finish before running end snapping and relayout." into main 2025-05-19 03:47:48 -07:00
Mykola Podolian
9e4b44afcd Merge changes from topic "remove_ipc" into main
* changes:
  [5/5] Removed unused IPC call.
  [4/5] Cover DragToBubbleController with tests.
  [3/5] Implement DragToBubbleController.
  [2/5] Hook up DragToBubbleController and prepare launcher to use it.
  [1/5] Added DragToBubbleController
2025-05-16 16:01:03 -07:00
Mykola Podolian
bbd1e2e6ad Merge "Fixed issue with expanded view incorrect position." into main 2025-05-16 15:33:33 -07:00
Treehugger Robot
2864b7820f Merge "Do not animate background when launching from all apps or home." into main 2025-05-16 13:40:06 -07:00
Treehugger Robot
fae0eb3858 Merge "Add trace to getRecentTasks" into main 2025-05-16 12:49:28 -07:00
Treehugger Robot
64a6563d14 Merge "Temporarily revert allowing recents view to reapply load state" into main 2025-05-16 12:28:19 -07:00
Shamali Patwa
e10f5d8891 Merge "Dismiss widget picker activity on lock" into main 2025-05-16 11:51:02 -07:00
mpodolian
94d2ce7587 [5/5] Removed unused IPC call.
Removed an IPC call to the shell that was introduced to display the
expanded view drop target.

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: DragToBubbleControllerTest
Change-Id: Ief762d29051d9fe32dc3956903146655509162f6
2025-05-16 11:34:02 -07:00
mpodolian
8499319bc2 [4/5] Cover DragToBubbleController with tests.
Implement tests that check DragToBubbleController public API

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: DragToBubbleController.kt
Change-Id: I48fe5f45921fbedbe0f1921dfd21e9ecb14406bc
2025-05-16 11:33:52 -07:00
Pat Manning
e229b40329 Wait for all springs to finish before running end snapping and relayout.
- Adds a SpringSet to track all running springs.
- Rearranges the code into blocks: end runnable, reflow, dismiss, neighbor bounce, etc.
- Renames all instances of draggedTaskView to dismissedTaskView for consistency
- To stop blocking touch earlier, run grid end translation without waiting for the neighbor bouncing to finish.
- Update TAPL split screen launching logic to wait for dismiss animation to end.

Fix: 415327465
Test: TaplTestsQuickstep.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I59ade102e35e3528971907e898dac9555c6de796
2025-05-16 19:10:00 +01:00
mpodolian
5b80c31380 [3/5] Implement DragToBubbleController.
Implement DragToBubbleController internal logic that utilises
DropTargetManager to show drop targets for the bubble bar drop zones.

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Go to overview screen and drag app icons from the taskbar
over the bubble bar

Change-Id: I844151c5e11f237c475d8a26a7784c5662dad658
2025-05-16 10:35:05 -07:00
mpodolian
86f7a230f8 [2/5] Hook up DragToBubbleController and prepare launcher to use it.
Updated DragController logic to set touch event XY coordinates if there
is no view returned by the DropTarget. Added wait call for all drop
targets views removed to the
TaskbarActivityContext#onDragEndOrViewRemoved() method.

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: build launcher
Change-Id: Ie97b08f22ae8dc34bd9f4e3738704e4fc90345bb
2025-05-16 10:34:55 -07:00
Alex Chau
8847a61e5f Add trace to getRecentTasks
Bug: 417535264
Test: presubmit
Flag: EXEMPT bug fix
Change-Id: I0ec7460bec6784716c231f03342215ee4fe34331
2025-05-16 18:09:36 +01:00
mpodolian
77859d0c89 Fixed issue with expanded view incorrect position.
The expanded view was misplaced due to a race condition. This occurred
because the BubbleBarController.onBubbleBarBoundsChanged() method was
invoked while
LauncherTaskbarUIController.onTaskbarInAppDisplayProgressUpdate() was in
progress (e.g. inAppDisplayOverrideProgress value was slightly higher
than 0). The latter method is also used to shift the three navigation
buttons for IME open/collapse events.

This concurrent execution led to an incorrect bubbleBarTranslationY
value being used in the BubbleBarView.getTopToScreenBottom() method,
ultimately causing the misplacement of the expanded view.

Fixes: 416158567
Flag: EXEMPT bugfix
Test: Manual.
- Long Press Chrome icon select "bubble" adds
- Press search bar inside Chrome app bubble to show IME
- Hide IME
- Press Chrome bubble
- Press search bar inside Chrome app bubble to show IME
- Hide IME

Change-Id: I44431f0eb47c3e9e0bea0274624e5b1db0aa15c9
2025-05-16 10:05:01 -07:00
Schneider Victor-Tulias
cea90d45a6 Temporarily revert allowing recents view to reapply load state
Flag: EXEMPT bug forward fix
Bug: 417535264
Test: crystalball
Change-Id: I39bf36d2993a317d7d0566d622a8ce7bbcbf76b1
2025-05-16 12:39:31 -04:00
Shamali P
f7441b88fc Dismiss widget picker activity on lock
See attached bug, we don't have good transition between lockscreen and
picker, so, we decided to dismiss it, given that this CUJ is less
common.

Additionally,

1. switch over to dagger dependencies instead of LauncherAppState
2. Remove unused flags for show_wallpaper / show_when_unlocked

Bug: 405068076
Flag: EXEMPT BUGFIX
Test: Manual (see demo in comments)
Change-Id: I8d0d5ebdbcca806e7fa24c57f80f1cad518bd035
2025-05-16 14:41:48 +00:00
Sergey Pinkevich
ab6d946622 Merge "Wrap calling RemoteRunnable with executeSafely" into main 2025-05-16 03:13:33 -07:00
Treehugger Robot
242f038d09 Merge "Don't trigger getRecentTasks() calls when waiting for an old call" into main 2025-05-16 02:25:05 -07:00
Andy Wickham
d1a9660761 Do not animate background when launching from all apps or home.
I think this animation was broken, and my previous CL accidentally
fixed it, so that blur was actually applied during app launch. This
caused some app launch performance regressions, so we will at least
disable it whenever the All Apps blur flag is enabled.

Test: presubmit, forrest
Bug: 416476673
Flag: com.android.launcher3.all_apps_blur
Change-Id: I4c7001dc84f67dbef02fbc255613b94347df91b8
2025-05-16 01:20:33 -07:00
Treehugger Robot
71d9ca7af3 Merge "[PiP on Desktop] Disable swipe up PiP if task is freeform" into main 2025-05-15 23:10:44 -07:00
Matthew Mourgos
b014754dc7 Merge "Stop mouse click+drag on home screen from opening notification shade" into main 2025-05-15 20:36:47 -07:00
Treehugger Robot
6bc72676ed Merge "Recreate DP for CD when displayInfo changes" into main 2025-05-15 18:07:54 -07:00
Treehugger Robot
bee486a7da Merge "Use desktop mode autostashing on desktop devices" into main 2025-05-15 17:33:29 -07:00
Ajinkya Chalke
1fd6090eb7 Recreate DP for CD when displayInfo changes
- Only IDP is updated when displayInfo changes but DPs of CD don't. As
  a result taskbars on CD end up reusing the old config DPs. For
  example, when user changes display size, displayInfo updates but
  taskbars on CD continue using old DP resources.
- So, update DP for CD when DisplayInfo changes.
- Also added using supplied context with dpToPx for calculating radius
  for taskbar roundedness at the ends.

Fix: 414933860
Test: m
Flag: com.android.window.flags.enable_taskbar_connected_displays

Change-Id: I7d8ed3c5ba69b755a58d3462a5da9ed7fd404198
2025-05-15 22:42:09 +00:00
Gustav Sennton
ffa5c2ad83 Don't trigger getRecentTasks() calls when waiting for an old call
TaskbarRecentAppsController#reloadRecentTasksIfNeeded() triggers a call
to fetch Recents tasks, that call is expensive as it goes through WM
Shell and the system server. If we trigger reloadRecentTasksIfNeeded()
multiple times we're queueing up multiple calls to fetch Recents tasks.

With this CL we avoid queueing up multiple calls, and instead just make
one new call when the old one finishes. That way we can only ever have
one call getRecentTasks() call triggered through
reloadRecentTasksIfNeeded() posted at any one time.

Bug: 415090968
Flag: com.android.window.flags.enable_taskbar_recent_tasks_throttle_bugfix
Test: TaskbarRecentAppsControllerTest
Change-Id: I58b66e4564af4e64837317a9de7be398395d8568
2025-05-15 20:18:21 +00:00
Treehugger Robot
06483e2faa Merge "Clean up Recents window for connected displays when the screen is off" into main 2025-05-15 13:13:46 -07:00
Alex Chau
38efd382b7 Merge "Revert "Recreate Launcher activity when blur enabled changes"" into main 2025-05-15 13:07:22 -07:00
Priyanka Advani (xWF)
1f891a6b67 Revert "Recreate Launcher activity when blur enabled changes"
Revert submission 33554447-b/414789280

Reason for revert: Droidmonitor created revert due to b/417614196. Will be verifying through ABTD before submission.

Fix: 417614196

Reverted changes: /q/submissionid:33554447-b/414789280

Change-Id: Idf349cd39a3f86910f597f0f9ab4d46fb03e945c
2025-05-15 11:12:05 -07:00
Steven Ng
5447e27488 Clean up Recents window for connected displays when the screen is off
Root clause: In connected displays, the recents windows are rendered in a separated window instead of in Launcher / QuickStepLauncher. And thus, Launcher#onScreenOnChanged doesn't clean up the recents windows upon screen off.

This CL also updates RecentsState#toString to make it easier to differentiate RecentsState from LauncherState in the logs.

Flag: com.android.launcher3.enable_overview_on_connected_displays
Test: Manually verified that the recents windows UI shown on a connected display is cleaned up after screen
Bug: 415040428
Change-Id: Iac602237943f341f1ce46d651c5b98003f3914c9
2025-05-15 10:31:32 -07:00
Surbhi Kadam
550dbb0021 Merge "Launcher3: send token with early wakeup request to SurfaceFlinger" into main 2025-05-15 10:28:36 -07:00
Sergey Pinkevich
542a174141 Wrap calling RemoteRunnable with executeSafely
Bug: 417347351
Flag: EXEMPT wrapping the call with try/catch, no flag needed
Test: NA wrapping the call with try/catch, no test needed

Change-Id: I65725697593530d33282f5cdd8d150a80152ab6a
2025-05-15 17:14:15 +00:00
Ebru Kurnaz
6ddc86dc7e Merge "Use wm callbacks for sys decor in Launcher instead of command queue." into main 2025-05-15 09:44:19 -07:00
Mykola Podolian
4703fef886 Merge "Reset -1 page progress when leaving it" into main 2025-05-15 09:37:10 -07:00
Jordan Silva
17b5284033 Merge "Clean-up TaskViewIcon to remove duplicated View methods." into main 2025-05-15 08:40:00 -07:00
Tony Wickham
cb535f5330 Merge "Call updateOverivewDragState when mIsAnimatingToLauncher changes" into main 2025-05-15 08:11:56 -07:00
Sam Cackett
86957d29bc Merge "Switch to screenshot before animating split select" into main 2025-05-15 07:30:28 -07:00
Ebru Kurnaz
88185ac745 Use wm callbacks for sys decor in Launcher instead of command queue.
Bug: 412615955
Test: DisplayRepositoryTest
Flag: com.android.window.flags.enable_sys_decors_callbacks_via_wm
Change-Id: I42865b2b9169e99e35e09e239f6a1b3e455b7894
2025-05-15 13:39:33 +00:00
Alex Chau
6564f33184 Merge "Remove debug logs on a closed bug" into main 2025-05-15 06:37:49 -07:00
Alex Chau
b7dd7bf1e0 Merge "Recreate Launcher activity when blur enabled changes" into main 2025-05-15 06:07:58 -07:00
Jordan Silva
18885ee426 Clean-up TaskViewIcon to remove duplicated View methods.
This change simplifies the TaskViewIcon interface by inheriting directly from View, removing redundant method declarations like `getWidth()`, `getHeight()`, `setOnClickListener()`, etc.

Affected classes are updated to use the new interface, primarily by calling `asView()` to access the underlying View methods where necessary.

Bug: 415265678
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual.
Change-Id: I281f495116a841338075d0ff35effd19316aaeec
2025-05-15 13:07:00 +01:00
Sam Cackett
7ab01c539e Switch to screenshot before animating split select
Fixes an issue where the live tile would flicker and briefly show the
background, then switch to screenshot and animate

Fix: 399847132
Flag: EXEMPT. Bugfix
Test: Manual. See bug
Change-Id: I373e052f32af1b7fade4cce509c820d29deafe97
2025-05-15 12:07:53 +01:00
Mykola Podolian
12d5eae670 Merge "Clear bubble bar saved states if bubble bar controllers not present." into main 2025-05-14 17:38:07 -07:00
mpodolian
dbd42b6f05 [1/5] Added DragToBubbleController
Added controller that would handles drags of launcher icons to the
bubble bar, displaying drop targets and creating application bubbles.

Bug: 411506181
Flag: com.android.wm.shell.enable_create_any_bubble
Test: build launcher
Change-Id: I593222d86f50248ceb2909ae73ccc021ef515e28
2025-05-14 17:29:11 -07:00
Merissa Mitchell
3f52f3fab5 [PiP on Desktop] Disable swipe up PiP if task is freeform
Bug: 416766306
Test: atest WMShellUnitTests:com.android.wm.shell.pip2.phone
Test: Manual - swipe up after tiling YT with video playing in Desktop,
verify PiP is not entered and there is no crash
Flag: com.android.window.flags.enable_desktop_windowing_pip

Change-Id: Ib8b1fc3979c7e2151e7c7184499334501503afb4
2025-05-14 17:27:43 -07:00
mpodolian
ae8047b5c3 Reset -1 page progress when leaving it
Reset in-app display override progress when transitioning from home -1
page. In order to come back to the -1 page user has to swipe left from
home again so in-app display override progress will be updated again.

Fixes: 416163737
Flag: EXEMPT - bugfix
Test: Manual. enable 3 buttons navigation mode. Have bubble bar with
bubbles. Swipe to -1 page. Click recent apps button. Click home.

Change-Id: Ibc67f6e024f5c89efb7f80f420fc859aaa9d3e33
2025-05-14 17:16:28 -07:00
Matthew Mourgos
c4e7a76838 Stop mouse click+drag on home screen from opening notification shade
This change is intended for the desktop form factor.

Bug: 388898277
Test: Manualy click+drag down on homescreen
Flag: com.android.launcher3.enable_mouse_interaction_changes
Change-Id: I334752eab88b777e90253b9835da58bbec9935d9
2025-05-14 15:22:21 -07:00
Treehugger Robot
8272b43675 Merge "Always allow first grid task to snap to top right" into main 2025-05-14 13:05:53 -07:00
Treehugger Robot
a882e236bb Merge "Add shadow to KQS view" into main 2025-05-14 11:53:24 -07:00
Alex Chau
f38d9c3ff3 Always allow first grid task to snap to top right
- Follow-up of ag/31609791 which introduced expectedCurrentTaskView to allow Home -> Overview's currentTask to snap on top-right corner
- This CL ensures the same extra spadce between expectedCurrentTaskView and ClearAllButton is applied when going from Desktopt -> Overview

Fix: 416061364
Test: Home/Fullscreen app/Desktop -> Overview with <=4 tasks, first grid task can always snap to top right
Flag: EXEMPT bug fix
Change-Id: I078eaef04bc951b755b1d83b0c8570c89978077b
2025-05-14 10:08:18 -07:00