Commit Graph

23356 Commits

Author SHA1 Message Date
Sebastian Franco
57da21d3c4 launcher: Add e2e quickstep tests to NexusLauncherE2ETests
The test target apk will remain commented until we fininsh adding
all the tests there.

Bug: 324261526
Flag: EXEMPT test only
Test: atest NexusLauncherE2ETests
Change-Id: I989c85baf87cfb15eca817f0c725968dedf015ce
2025-05-16 21:03:03 +00: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
Schneider Victor-Tulias
2e6148a430 Prevent adding duplicate TaskAnimationManager launcher destroyed callbacks
Flag: EXEMPT code cleanup
Bug: 416536400
Test: TaskAnimationManagerTest; ran test with and without change
Change-Id: I8bdee3adeeca07e386f3058910d5e2160359f7e9
2025-05-16 15:40:46 -04: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
Alex Chau
557d8e6d7f Reland "Recreate Launcher activity when blur enabled changes"
- When battery saver changes, WallpaperThemeManager always recreate activity to reapply theme base on wallpaper color hint changes
- Battery saver change can also result in light/dark theme changes, for which WallpaperThemeManager also recreate activity to apply theme changes
- As a result, it'll be much simpler to recreate activity whenever isBlurEnabled changes
- Exposed recreateToUpdateTheme API from WallpaperThemeManager to achieved this
- Greatly simplified Overview styling to read from styles

Reland fix:
- Removed mBlursEnabled in BaseDepthController, and only use `mCrossWindowBlursEnabled` to control swapping between blur style and fallback style
- Temporary variables like `mPauseBlurs` and `hasOpaqueBg` should only affect if blurs are applied, but not result in swapping of blur style, otherwise this cause unnecessary redraw or activity recreate

Reason for revert: reland
Reverted changes: /q/submissionid:33581402-revert-33554447-b/414789280-CTVRJLPLRT
Bug: 414789280
Test: manually toggling battery saver and light/dark theme and WallpaperThemeManagerTest
Test: PressBackFromLaunchedApp.testPressBackFromLaunchedApp
Flag: EXEMPT bugfix

Change-Id: Iac2b0c00811e0e79684da0cf77df76a120c1272a
2025-05-16 12:33:44 +01: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
Andy Wickham
d4100bec42 Fix All Apps interpolators and blur.
Fixes an issue where leaving All Apps did not reverse interpolators,
causing blur to disappear too quickly.

In addition, the logic in BaseDepthController is updated to ensure
100% blur is applied upon reaching max depth. Previously we were
multiplying the depth by 3, but the intention was to reach 1 when
depth reached 0.3. So the blur was only at 90% the intended value in
All Apps (which has a depth of 0.3).

Finally, related to the 100% blur, we correctly end early wakeup
when that is reached, which means we also start it again when the
blur starts changing back towards 0 again. This spins up the GPU,
CPU, and SurfaceFlinger and should help avoid missed frames.

In order to avoid negative performance hits, reducing the max blur
radius from 34dp to 30dp, so that it matches what we were hitting
previously. (The full 34dp unfortunately does cause some regressions).

Bug: 415247657
Test: Open all apps, drag back down, view animation. Also try other
Launcher state transitions.
Flag: com.android.launcher3.all_apps_blur
Change-Id: Ia5daa07525ac96c0597a25bb4320348f27a4ee56
2025-05-15 17:53:17 -07:00
Treehugger Robot
bee486a7da Merge "Use desktop mode autostashing on desktop devices" into main 2025-05-15 17:33:29 -07:00
Andy Wickham
db3e5ac901 Merge "Update All Apps handle and work tab color." into main 2025-05-15 16:06:30 -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
Vadim Tryshev
3743ca97c7 Skip all tests after a test times out
That test can continue running in the "Time-limited test" thread,
and we don't know whether it makes sense to wait for its completion.

Flag: EXEMPT test fix
Fixes: 405849365
Test: TAPL tests; pre/postsubmit
Change-Id: I3bdd6e5b07f109124f938766b7f2e427d2e39b01
2025-05-15 13:44:40 -07: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
Sebastián Franco
50c607d4d4 Merge "launcher: Get rid of redundant folders like testing when we have the test folder" into main 2025-05-15 08:29:45 -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
Treehugger Robot
a098f6a855 Merge "Update the color of icon for addDesktopButton" into main 2025-05-14 22:49:38 -07: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