Commit Graph

23356 Commits

Author SHA1 Message Date
minch c48f662c7d Do not notify desk mode changes on visible desk tasks count changes
1. Trigger `notifyIsInDesktopModeChanged` on
   `visibleDesktopTasksCount` changes only when the multi-desks
   flags are disabled.
2. Make `DesktopVisibilityController.isInDesktopMode` variable
   private and legacy, which should only be used when the multi-desks
   feature is disabled. All the call sites should go to check
   `DesktopVisibilityController.isInDesktopMode(displayId)`, which
    works both with and without the multi-desks feature enabled.

Bug: 402222877
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I291e2be6d99e81b0c918ae7f39c17a8cd4ea0918
2025-03-14 15:21:19 +00:00
Treehugger Robot 64927397af Merge "Fix KQS arrow button padding" into main 2025-03-14 08:14:16 -07: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
Orhan Uysal bb56cf824b Temporarily add a null intent check.
Due to b/403118101, add temproray null intent check to prevent tests
from failing for longer until we identify why there is task with bunch
of null fields.

Bug: 403118101
Flag: EXEMPT Bug fix
Test: m
Change-Id: I11246c1143d1acbe45133f0e34785818bce3dba9
2025-03-14 12:38:14 +00: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
Toni Barzic 3c07c2156f Fix KQS arrow button padding
The padding values were set to their totals.
They needed to be halved.

Bug: 397975686
Flag: com.android.launcher3.taskbar_overflow
Test: None
Change-Id: Icae56e02fa6082b7f99b9fef265d6220b613d06b
2025-03-14 04:58:38 +00:00
Bill Yi e6ebc9cedc Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I47cdfafd3aa21f5c17871ed13de4a41ebb004cce
2025-03-13 21:48:20 -07:00
Min Chen 3956f310c0 Merge "Get displayId from DesktopTask for DesktopTaskView" into main 2025-03-13 21:05:28 -07:00
mpodolian 63adcd5e29 Disabled bubble bar for the connected display.
Fixes: 378516887
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Have bubble bar with some bubbles. Connect the PC monitor
to the prepared android device.Observe bubble bar only appears on the
android device screen.

Change-Id: I9188bf9f3a74c8699c213bb7fbf886b92afeb746
2025-03-13 16:33:48 -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 9b577bc9b5 Merge "Mark KQS arrow strings translatable" into main 2025-03-13 12:41: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
Toni Barzic 026306b793 Mark KQS arrow strings translatable
Bug: 397975686
Flag: EXEMPT bugfix
Test: None
Change-Id: I3911a7c9b9cd19388934355e684941acc27a1c01
2025-03-13 10:17:31 -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
Mady Mellor 8912d6ae33 Update flyout text view to use a diff font
Flag: com.android.wm.shell.enable_gsf
Test: manual - enable the flag and inspect the text of all
               the UI elements
Bug: 379159675
Change-Id: I65dde0de5b2afad15598d16ab96f2fc51c9e1f59
2025-03-12 19:46:11 -07:00
Jon Miranda 0779b1fa1b Synchronize the app launch and taskbar stash animations.
Introduce FLAG_IGNORE_IN_APP to prevent taskbar from stashing
prematurely due to HomeTransitionListener signal.

Fixes leak by adding event callback to clear runnable when launcher is
destroyed.

Bug: 319162553
Test: Launch an app, note the two animations are synced
      Verified by locally introducing a startDelay (since otherwise it is hard to tell)
Flag: com.android.launcher3.sync_app_launch_with_taskbar_stash
Change-Id: I684c714bb84fb1717b0e26620f2aa938671eb19a
2025-03-12 16:17:55 -07:00
Shamali P 8f126e8e66 Change the studio build specific onEndCallback exception to a log.e
Since developers have been relying on detecting leaks from studio build
and this exception can cause rest of on destroy to not run, to avoid
false positives, we could just rely on Log.e instead.

See bug for more details.

Bug: 400793700
Flag: EXEMPT BUGFIX
Test: Leak canary and studio heap dump
Change-Id: Ieea35ecfcc4b0f048b47c204809bbbf39e367b06
2025-03-12 23:00:40 +00:00
Sukesh Ram fa0955dd50 [CD Taskbar] Fix TaskbarDividerView Crash
Fix crash due to taskbarActivityContext being initialized too late.

Flag: EXEMPT not adding new behavior
Bug: 402671805
Test: Manual
Change-Id: I1e6fcbac823dbd436579f1be2558b7855778a44c
2025-03-12 14:51:15 -07:00
Orhan Uysal 380da627e9 Merge "Filter out DesktopWallpaperActivity task from TTT." into main 2025-03-12 14:49:01 -07:00