Commit Graph

13988 Commits

Author SHA1 Message Date
Mykola Podolian
6ddfa5dfd5 Drag and drop from the search view on the overview screen.
When the bubble bar is stashed and an icon is dragged from the search
grid towards it, the bubble bar should be un-stashed. Conversely, if the
icon is dragged to the opposite location of the stashed bubble bar, the
handle should teleport out, and the collapsed bubble bar should
teleport in.
This change implements logic that addresses this behavior.

Bug: 399678274
Test: Manual. Drag and drop application icons from the search grid to
the bubble bar drop areas.
Flag: com.android.wm.shell.enable_create_any_bubble

Change-Id: Ief9ef3e5c24f8199b2812fd0adf63ae3f6cf8f32
2025-03-20 09:39:35 -07:00
Mady Mellor
3894947741 Merge "Update dragged elevation to use shared value (at 3dp)" into main 2025-03-14 16:10:01 -07:00
Randy Pfohl
b1a0a5706f Merge "Removing displaymanager listener in favor of displayAddSystemDecorations for testing/sysui consistency" into main 2025-03-14 15:18:51 -07:00
Jagrut Desai
56a8bf548f Merge "Taskbar Icon changes" into main 2025-03-14 14:29:08 -07:00
Mady Mellor
609f2b3143 Update dragged elevation to use shared value (at 3dp)
- Had to bump elevation of drop target so need to bumpe elevation
  of dragged views

Flag: com.android.wm.shell.enable_bubble_anything
Test: manual / visual - drag a bubble or drag expanded view and observe
                        the drop targets
Bug: 403276099
Change-Id: I15a1deb055c590b1f46261fcc307120fcb685c08
2025-03-14 13:56:29 -07:00
Johannes Gallmann
e7b099efee Merge "Add 200 ms delay for predictive back animation in 3-button-nav" into main 2025-03-14 13:37:37 -07:00
Hongwei Wang
965a1f5f7f Merge "[2/N] Check destination against src aspect ratio" into main 2025-03-14 13:33:26 -07:00
Treehugger Robot
dee6dd8bb7 Merge "Make OverviewCommandHelper commands and OverviewCommandHelperTest display-aware" into main 2025-03-14 13:18:28 -07:00
Jon Miranda
0c762ac84f Merge "Synchronize the app launch and taskbar stash animations." into main 2025-03-14 11:05:08 -07:00
Will Osborn
69a9346b07 Make OverviewCommandHelper commands and OverviewCommandHelperTest display-aware
Test: locally tested on Tangor
Flag: EXEMPT refactor
Bug: 397942185
Change-Id: Ib2c3b2662413d15926215c18421168e93ce2b117
2025-03-14 17:55:20 +00:00
Jagrut Desai
4fe0b79fde Taskbar Icon changes
Test: Manual
Bug: 379158656
Flag: com.android.wm.shell.enable_gsf
Change-Id: Ic4ec9a7c634231c2592cfcd6ba6c8f8252c2dd98
2025-03-14 09:26:32 -07:00
Treehugger Robot
0af5880d28 Merge "Revert "Remove DepartingAnimationTarget from BackMotionEvent(2/2)"" into main 2025-03-14 08:59:01 -07:00
Randy Pfohl
b6df25a0e6 Removing displaymanager listener in favor of displayAddSystemDecorations for testing/sysui consistency
Test: built and tested events while connecting disconnect external
display

Flag: com.android.launcher3.enable_launcher_overview_in_window

Bug: 292269949

Change-Id: I5b0b180e47eb62d8cc963076a2ad22a649c1c9cf
2025-03-14 15:42:37 +00:00
Jordan Silva
04dde14527 Merge "Fix app chip split icon position in RTL" into main 2025-03-14 07:27:00 -07:00
Jordan Silva
50a048bc38 Merge "Fix App Chip positioning in Fake Orientation" into main 2025-03-14 07:26:50 -07:00
Wei Sheng Shih
be00793561 Revert "Remove DepartingAnimationTarget from BackMotionEvent(2/2)"
Revert submission 32129017-remove_departing_motion

Reason for revert: b/402422333

Reverted changes: /q/submissionid:32129017-remove_departing_motion

Change-Id: Id3dab47ddac90de8564379ce41cb7943bfb31fa4
2025-03-14 06:23:40 -07:00
Treehugger Robot
520403a822 Merge "Do not apply blur in overview on unsupported devices" into main 2025-03-14 05:50:26 -07:00
Jordan Silva
b497f87814 Fix app chip split icon position in RTL
Fix: 403284758
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual, please check b/326377497#comment7.
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Change-Id: I217e491355f1221ac1840b2c7c47b1000e1ffe71
2025-03-14 12:01:12 +00:00
Jordan Silva
43ba3e9276 Fix App Chip positioning in Fake Orientation
This CL changes how the layoutDirection of the App Chip is handled and update translations in the PagedViewHandler for the app chip for fake orientation.

- The App Chip was updated to use the device layoutDirection instead of the same of RecentsView. This prevents the app chip being displayed in RTL when the device is LTR and vice-versa.
- It also applies the correct layout direction to `IconAppChipView` and its related views to ensure proper RTL behavior.
- RecentsView now updates layoutDirection for its children when updateChildTaskOrientation is called. This will make sure its children have the the latest and the correct layoutDirection.. Before it was only applied when adding a view (addView).
- In `SeascapePagedViewHandler`, it adjust the gravity for app chip be aligned correctly in Seascape.
- In `GroupedTaskView`, it checks if the device is in RTL to align the app chip correctly for split tasks.

- Multiple test combinations were done to validate this fix, please see table in b/326377497#comment7.

Fix: 326377497
Bug: 403284758
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual, please check b/326377497#comment7.
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Change-Id: I8e8050ccf58c3f90718a48773ee7e32ddbc00f13
2025-03-14 12:01:12 +00:00
vinayjoglekar
559f8c514d Do not apply blur in overview on unsupported devices
Bug: 403475392
Test: Manual. Enter overview from app/home.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: I280ad08e7d66f664598791d01a58a8d090e48a3f
2025-03-14 16:04:13 +05:30
Will Osborn
53cb4f2b42 Merge "Make TaskAnimationManager per-display" into main 2025-03-14 02:18:29 -07:00
Sukesh Ram
a9b92cb68f Merge "[CD Taskbar] Stop External Taskbar Destruction on Window Close" into main 2025-03-14 00:17:32 -07:00
Min Chen
3956f310c0 Merge "Get displayId from DesktopTask for DesktopTaskView" into main 2025-03-13 21:05:28 -07:00
Sukesh Ram
dca6b4da8b [CD Taskbar] Stop External Taskbar Destruction on Window Close
When all windows on external taskbar are closed, exit desktop mode is trigggered. We stop this signal from destroying the external taskbar. This is because we want to be in desktop mode as long as we are connected to a non-mirroring display.

Flag: com.android.window.flags.enable_taskbar_connected_displays
Bug: 401553128
Test: m
Change-Id: I23b61172bb13f1377c4532a56e7838fbe2140f20
2025-03-13 16:15:08 -07:00
Hongwei Wang
701101b736 [2/N] Check destination against src aspect ratio
This is the fix on Launcher side. There is a counterpart on
SystemUI side.

PictureInPictureParams#isSameAspectRatio has 1-pixel allowance when
comparing a given Rect against the aspect ratio.

When we compare the source rect hint against the aspect ratio inferred
from the destination bounds, the float error during the destination
bounds calculation is amped. For instance:

- Source rect hint: Rect(152, 0 - 2072, 1080), 1920x1080
- Destination bounds: Rect(440, 1218 - 1038, 1554), 598x336

When do the isSameAspectRatio

- If we fix the height=1080, expected width=1922, it's 2 pixels off
- If we fix the width=1920, expected height=1078, it's 2 pixels off

The check would fail. Instead, in this change, we compare the
destination bounds against the aspect ratio from the source rect hint.
For the same source rect hint and destination bounds

- If we fix the height=336, expected width=597, it's 1 pixel off
- If we fix the width=598, expect height=336, it's 0 pixel off

Note: this change applies to both PiP1 and PiP2

Flag: EXEMPT bugfix
Bug: 402190788
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/cUXaoJxzXDdKdSyqkQZOG1
Test: Swipe to enter PiP from landscape playback, see also Video
Change-Id: I8f06f269784c72258f9b23f2beafbd5d0926bb73
2025-03-13 16:10:36 -07:00
minch
68e116e79f Get displayId from DesktopTask for DesktopTaskView
Bug: 401011627
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: Added a test in RecentTasksListTest
Change-Id: I21164de812d57b79cd84370bbf0426268c4b645d
2025-03-13 22:24:22 +00:00
Treehugger Robot
85db442ef1 Merge "Handle visibility of AddDesktopButton for overview/quickswitch" into main 2025-03-13 13:13:46 -07:00
Treehugger Robot
d7c4922ddf Merge "Enable Perceptible tasks when in desktop mode." into main 2025-03-13 13:09:40 -07:00
Treehugger Robot
f2ceba9ba7 Merge "Removing listeners from FolderInfo" into main 2025-03-13 12:48:34 -07:00
Treehugger Robot
bfd041a055 Merge "Spring neighboring tasks on dismiss reflow." into main 2025-03-13 12:47:19 -07:00
Treehugger Robot
c23c94520b Merge "Implementation of overview background blur" into main 2025-03-13 12:02:43 -07:00
Mady Mellor
6e9cc31ba2 Merge "Update flyout text view to use a diff font" into main 2025-03-13 11:21:25 -07:00
Treehugger Robot
d8eac67aad Merge "Associate ResetGestureInputConsumer and NO_OP input consumers with display IDs" into main 2025-03-13 11:19:33 -07:00
Suhua Lei
c8fcf08dfd Handle visibility of AddDesktopButton for overview/quickswitch
This change introduces mDisallowScrollToAddDesk to handle the visibility
of AddDesktopButton in overview/quickswitch. In overview, set its scroll
as the first task; in quick switch, set its scroll out range of
[minScroll, maxScroll].

Bug: 398036110
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: manual quick switch
Change-Id: I5fada0c4c5bccc5572b458da9970e3524087508d
2025-03-13 10:50:21 -07:00
Sukesh Ram
bf31635e25 Merge "Remove Taskbar WindowToken upon onDisplayRemoved" into main 2025-03-13 10:45:40 -07:00
Sunny Goyal
1ac78b6ec6 Removing listeners from FolderInfo
Folder and FolderIcon are UI objects and can talk to each other directly.
FolderInfo changes are already propogated via model callbacks, and doesn't need a separate listener pattern.

Bug: 398791288
Flag: EXEMPT bugfix
Test: atest FolderTest

Change-Id: Iefd47b8ea12a8ecaf34211a3d908220a0e999187
2025-03-13 10:28:07 -07:00
Shamali Patwa
a29ec52cce Merge changes from topic "prp-fix" into main
* changes:
  Improve reliability of cleanup done in onDestroy.
  Change the studio build specific onEndCallback exception to a log.e
2025-03-13 10:25:06 -07:00
vinayjoglekar
7d88ef3aae Implementation of overview background blur
- Remove overview background scrim color.
- Create blur layer and blur surface to set blur to behind live app tile.
- Handles cases like live tile to screenshot during AiAi and orientation change.

Bug: 377244819
Test: Manual. Enter overview from app/home.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: I5dce0268f4421cd0ac29dbb429e5d106da7a0bdc
2025-03-13 22:30:27 +05:30
Orhan Uysal
5cb4bd1bcd Merge "Add logging to DesksUtils for debugging." into main 2025-03-13 09:57:04 -07:00
Li Lin
a7bdabcef5 Merge "Add skeleton Growth Framework nudge controller." into main 2025-03-13 09:49:00 -07:00
Treehugger Robot
099fe40588 Merge "Use primary task size instead of width to compute dismiss gap." into main 2025-03-13 09:35:54 -07:00
Will Osborn
6c413c1e80 Make TaskAnimationManager per-display
Test: locally tested on Tangor
Flag: com.android.launcher3.enable_overview_on_connected_displays
Bug: 402362875
Change-Id: I6acb166c200e8bd9198e2aa73e506b3c3414f526
2025-03-13 16:14:46 +00:00
Orhan Uysal
4ea154cb28 Add logging to DesksUtils for debugging.
Bug: 403118101
Test: m
Flag: EXEMPT adding logs
Change-Id: I10305afcb10199b820567714422356158e894d2b
2025-03-13 16:08:17 +00:00
Schneider Victor-Tulias
9419102ec1 Associate ResetGestureInputConsumer and NO_OP input consumers with display IDs
All input consumers should be associated with display IDs, especially since these are used by TouchInteractionService.onConsumerInactive and they will be using per-display objects.

Flag: com.android.launcher3.enable_gesture_nav_on_connected_displays
Bug: 382130680
Test: InputConsumerUtilsTest
Change-Id: Ic14121db2361da1f0a819221b85256b1b3926774
2025-03-13 15:58:30 +00:00
Pat Manning
32f730b38b Spring neighboring tasks on dismiss reflow.
Fix: 389081477
Test: TaplTestsQuickstep
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I9a354ce6471fee7b6e23b3a5cf97f2866c870abd
2025-03-13 15:18:40 +00:00
Shamali P
9cf28d1772 Improve reliability of cleanup done in onDestroy.
As seen in the bug, an exception caused rest of onDestroy to not clean
up the other objects - which could cause other leaks.

So, for somewhat non-trivial clean ups, I've wrapped them in try-catch.
This way, with Log.e we still will know about them, but not crash
destruction of activity and other clean up.

Bug: 400793700
Flag: EXEMPT BUGFIX
Test: Leak canary and studio heap dump
Change-Id: I45e7298394eafff182a2c800eebfa5f772fbe2de
2025-03-13 14:26:55 +00:00
Pat Manning
62a57cf13b Use primary task size instead of width to compute dismiss gap.
This fixes issues for fake landscape.

Fix: 403233871
Test: Manual.
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: I5b98e9d6c191c8cc951ae19b1f5e42fce2922c08
2025-03-13 14:18:36 +00:00
Sergey Pinkevich
6aaec1a019 Merge "Add end animation listener for trampoline animation" into main 2025-03-13 04:46:50 -07:00
Sukesh Ram
dd25302794 Merge "[CD Taskbar] Fix TaskbarDividerView Crash" into main 2025-03-13 01:24:21 -07:00
Lingyu Feng
e1eaa0e3d6 Remove Taskbar WindowToken upon onDisplayRemoved
This CLs removes DeviceProfile of the display before destroying the
taskbar in onDisplayRemoved(). This makes sure DeviceProfile is null
when destroyTaskbarForDisplay() is called in onDisplayRemoved(), so that
removeTaskbarRootViewFromWindow() can be executed when display mirroring
starts.

Bug: 401180264
Test: adb shell settings put secure mirror_built_in_display 1
Flag: EXEMPT bug fix
Change-Id: I42cb8a1ecfdf1aa57d8ee3d01242a156f8a92cd9
2025-03-13 15:54:33 +09:00