Commit Graph

13172 Commits

Author SHA1 Message Date
Uwais Ashraf 4a87b48d44 Merge "Move TaskThumbnailViewData initialisation to init." into main 2024-12-23 04:15:41 -08:00
Alex Chau 9af2ef3ef0 Merge "Implement TaskViewsIterable using Kotlin Sequence" into main 2024-12-23 03:26:48 -08:00
Mykola Podolian 2a36384351 Merge "Fixes issue with missing overflow bubble" into main 2024-12-21 11:15:40 -08:00
mpodolian 609e9642bc Fixes issue with missing overflow bubble
The problem had two parts:
1 When BubbleBarViewController removed all views, including the overflow
bubble, it did not update the value of the mOverflowAdded field
2 BubbleBarController removed all views upon receiving an initial update
This CL addresses both issues.

Test: Manual. Ensure the overflow bubble is present in the bubble bar.
Rotate the device and verify that the overflow bubble remains visible.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 380281090

Change-Id: I1810671e6bfc5b8b402433697b07f3de2e612ed7
2024-12-20 15:34:04 -08:00
Uwais Ashraf 84ce6e9e80 Merge "Fix blank recent tasks thumbnails." into main 2024-12-20 12:20:02 -08:00
Uwais Ashraf a08b7c4218 Move TaskThumbnailViewData initialisation to init.
This is because onLayout can be called before onAttachedToWindow so this property needs to be initialised as it is used in onLayout.

Fix:  383733481
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual checking of split select and incorrect orientation for now but will be tested by view screenshot tests.

Change-Id: I40937b8b1b98209e77cb5ee64f5c4342b90faf97
2024-12-20 19:52:05 +00:00
Treehugger Robot 64eb038059 Merge "Moving sysproxy to kotlin" into main 2024-12-20 11:44:23 -08:00
Brian Isganitis 1e6ffc8a08 Merge "Split up tests by actual hardware keyboard status." into main 2024-12-20 11:36:35 -08:00
Mykola Podolian aad6505463 Merge "Fixed optional overflow crash by verifying the presence of bubbles." into main 2024-12-20 09:54:49 -08:00
Alex Chau e5a3ab1c0c Implement TaskViewsIterable using Kotlin Sequence
- Implement TaskViewsIterable in TaksViewUtils using ViewGroup.children Sequence with a filter, this removes the need to write a custom Iterator

Bug: 379942019
Test: manual smoke test and presubmit
Flag: EXEMPT refactor
Change-Id: I2250a4dfbee49dfdb3319514eb0f3e4408606437
2024-12-20 14:09:46 +00:00
Jordan Silva e638b5a25a Fix blank recent tasks thumbnails.
When user navigate back to Overview, getAllTaskData will be called and refresh the list of tasks in the repository which cleans the pre-loaded thumbnails and icons from the previous iteration.

In some cases, this causes the thumbnails to be blank in the recents. When getAllTaskData is called after the taskRequest is completed, the tasks will end up in an invalid state without the thumbnail and icon until the user scrolls through the recent apps list or re-open Overview.

Fix: 380067701
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TasksRepositoryTest
Change-Id: Ia15d905a2f5ceb71b87c0b91028ce88894524806
2024-12-20 02:30:39 -03:00
Treehugger Robot ed7a726091 Merge "Removing state from TISBinder" into main 2024-12-19 18:53:35 -08:00
Sunny Goyal 5df843476c Moving sysproxy to kotlin
Bug: 385171800
Test: Presubmit
Flag: EXEMPT refactor
Change-Id: I9db2d4a2f7ff6e739e389ce0e076d5ea88adad5c
2024-12-19 17:22:00 -08:00
Treehugger Robot 10d808ffa3 Merge "[CD Taskbar] Set correct window type for TaskbarActivityContext on primary/secondary displays" into main 2024-12-19 16:58:17 -08:00
Mykola Podolian 73553774c2 Merge "Update drag close drop target properties." into main 2024-12-19 16:50:02 -08:00
Treehugger Robot de2e748cc6 Merge "[CD Taskbar] Pass displayId to TouchInteractionService for per-display wallpaper updates" into main 2024-12-19 16:26:54 -08:00
Brian Isganitis 791944ff63 Merge "Disable model loading with Sandbox check instead of static boolean." into main 2024-12-19 15:32:56 -08:00
Treehugger Robot 8e8a3cfb71 Merge "Migrate to TaskViewsIterable & TaskViewsIterator - [4/n]" into main 2024-12-19 15:18:20 -08:00
Sukesh Ram bdd44ef1cc [CD Taskbar] Set correct window type for TaskbarActivityContext on primary/secondary displays
Modified TaskbarActivityContext to be aware of the display it's on (primary or secondary). This allows it to set the correct layoutParams.windowType for the Taskbar view, using TYPE_NAVIGATION_BAR for the primary display (the standard Taskbar) and TYPE_NAVIGATION_BAR_PANEL for secondary displays.

Bug: 385202874
Test: Manual
Flag: EXEMPT not adding behavior
Change-Id: I5addf45b6099d3ddcf8315a541b69d2f67bace7d
2024-12-19 14:57:22 -08:00
Sukesh Ram cb5ce3c3ec [CD Taskbar] Pass displayId to TouchInteractionService for per-display wallpaper updates
Modified TouchInteractionService.updateWallpaperVisibility() to accept a displayId parameter. This allows TaskbarManager to apply wallpaper visibility changes (e.g., dimming) on a per-display basis, ensuring correct behavior with multiple connected displays.

This change addresses the issue where wallpaper dimming was not being applied correctly on secondary displays when the Taskbar was visible.

Bug: 385200423
Test: Manual
Flag: EXEMPT not adding behavior
Change-Id: I72ddeb6df29f84c16f91d5c6de446266bee98342
2024-12-19 14:37:36 -08:00
mpodolian 4bc4e45714 Fixed optional overflow crash by verifying the presence of bubbles.
The scenario where "A bubble was added from the overflow (and now it's
empty/not showing)" lacked a check to verify if bubbles are currently
present. Its absence caused calls to removeOverflowAndAddBubble()  of
BubbleBarViewController for any first bubble matching the previously
closed last bubble, not just those added from the overflow.
This CL addresses the issue by adding the missing check.

Test: Manual. Set enable_optional_bubble_overflow flag to true. Create
one bubble, dismiss it, create the same bubble again. Create another
bubble, dismiss it, open overflow and click on dismissed bubble. Observe
the overflow icon disappears.
Video: http://recall/-/gx8ASgewUeUS3QYohfrd1J/eYeyo6cNeUBw4mU6rrkXtN
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 373940143

Change-Id: I4085ce4e922e2b5d65466a00649dda086c14185f
2024-12-19 13:47:39 -08:00
Sunny Goyal 64dcfcf0c7 Removing state from TISBinder
Making OverviewComponentObserver a singleton

Bug: 384896306
Bug: 337863494
Test: Presubmit
Flag: EXEMPT bugfix
Change-Id: Ic7805ee4f4eef25098ddec4025062135d03c1611
2024-12-19 13:05:42 -08:00
Jagrut Desai 636aba5acb Merge "Don't recreate taskbar in Overview" into main 2024-12-19 13:00:03 -08:00
Jagrut Desai 2f1c1e10de Don't recreate taskbar in Overview
This cl includes
	- when going to overview from Launcher or Desktop Mode don't recreate taskbar and keep it a same variant as the context user was in.
        - user will still be able to pin/unpin taskbar in overview, but it will be recreated to the launcher context.
	- opening app from taskbar context is now aware of if taskbar is in desktop mode and opens app in Desktop Mode when user oepn any app.
        - This cl will not include the animation when taskbar variant is changing between launcher and desktop mode.

Solution
    - if desktop tasks are visible we will open any app from taskbar context into Desktop windowing mode after launching the DesktopTaskView manually. We will launch desktop task from recentview first and upon end of recent animation we will launch the app.

Bug: 343882478
Test: Manual
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ib67e1e7150670f901c07c2df188cde81e7d725dc
2024-12-19 10:50:20 -08:00
mpodolian 7991a4489c Update drag close drop target properties.
Updated the colors and adjusted the close icon size of the drop target.

Fixes: 376687679
Test: Manual. Drag bubble bar and observe updated drop target.
Test: Manual. Disable bubble bar. Drag overflow bubble and observe
updated drop target.
Flag: com.android.wm.shell.enable_bubble_bar

Change-Id: I04a11d8a868ff06fae008f42a591b66e5254f4cd
2024-12-19 10:36:09 -08:00
Treehugger Robot 1ac4d2294f Merge "Destroy dep tree on RecentsView detached. This prevents leaks." into main 2024-12-19 10:14:02 -08:00
Liran Binyamin 8b102fe820 Merge "Fix handle color when interrupting the animation" into main 2024-12-19 10:04:52 -08:00
Randy Pfohl 080fb1e483 Merge "Refactor to use a DisplayModel to host common per display objects" into main 2024-12-19 08:35:27 -08:00
Will Osborn 64464fa257 Merge "Don't update desktop visibility with final state until state transition has finished." into main 2024-12-19 06:49:46 -08:00
Uwais Ashraf a9d5cc877c Destroy dep tree on RecentsView detached. This prevents leaks.
Scenario 1 was already working, this CL fixes scenario 2 and leaves scenario 3 broken.

3 Scenarios:
Scenario 1 (occurs in real usage):
Launcher instance 1 init
Launcher instance 2 init
Launcher instance 1 destroy
Launcher instance 2 destroy

Scenario 2 (occurs in testStressPressHome):
Launcher instance 1 init
Launcher instance 1 destroy
Launcher instance 2 init
Launcher instance 2 destroy

Scenario 3 (does not currently happen):
Launcher instance 1 init
Launcher instance 2 init
Launcher instance 2 destroy
Launcher instance 1 destroy

Fix: 381160061
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TaplStartLauncherViaGestureTests#testStressPressHome
Change-Id: I7c82ce97e7a7f0698b9adad38f59e4555f0d1bdc
2024-12-19 06:16:28 -08:00
Treehugger Robot 072c1f469f Merge "[CD Taskbar] Refactor TaskbarManager - Make mAddedWindow display-specifc" into main 2024-12-18 22:57:22 -08:00
randypfohl b479f10d45 Refactor to use a DisplayModel to host common per display objects
Test: Built and ran locally

Flag: com.android.launcher3.enable_fallback_overview_in_window

Bug:  379746094

Change-Id: I59b644f8905a3ba5af31234c4fb53709209d9d07
2024-12-18 21:52:41 -08:00
Sukesh Ram fb55f96506 [CD Taskbar] Refactor TaskbarManager - Make mAddedWindow display-specifc
Create SparseBooleanArray to ensure that with connected displays, there is support for multiple RootLayouts, which each a variable tracking whether they have been added to the window or not.

Flag: EXEMPT not adding new behavior
Bug: 384793943
Test: Manual
Change-Id: I18849d033cada181eadf89c86d3c02d87a8ee962
2024-12-18 21:10:57 -08:00
Sunny Goyal 4f20462257 Merge "Removing TisHelper dependency in taskbar Taskbar should be able to access TouchInteractionService directly" into main 2024-12-18 18:58:43 -08:00
minch 304e0f29be Migrate to TaskViewsIterable & TaskViewsIterator - [4/n]
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Checked that TaskViews layout are correct in below scenarios:
      1. Dismiss the first TaskView
      2. Dismiss the last TaskView
      3. Dismiss a TaskView in the middle
      4. Remove all the TaskViews
Change-Id: I944503e9c1a65cded128efd5572734e887cdb027
2024-12-19 00:46:18 +00:00
Treehugger Robot ee2e3ba257 Merge "Use DeviceProfile in NavBarGestureHandler and EdgeBackGestureHandler for the display size" into main 2024-12-18 16:09:36 -08:00
Treehugger Robot 1ad0e1555b Merge "Migrate using TaskViewCount as the indices" into main 2024-12-18 15:43:25 -08:00
Sunny Goyal ddded547bb Removing TisHelper dependency in taskbar
Taskbar should be able to access TouchInteractionService directly

Bug: 384896306
Test: Presubmit
Flag: EXEMPT bugfix
Change-Id: I2a32d3a7a2b2071645abff72c62635c6575a48a1
2024-12-18 15:02:44 -08:00
Anushree Ganjam 59137e44e2 Merge "Update the All apps label to "Apps list"" into main 2024-12-18 14:07:36 -08:00
Vinit Nayak 9f4ab8b89a Merge "Hide App Chip for smaller app in 90:10 flex split" into main 2024-12-18 12:00:48 -08:00
minch 55c301add0 Migrate using TaskViewCount as the indices
Do not rely on `getTaskViewCount` as the index information.
- Remove the use of the deprecated function `obtain` as well.

Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Enabled TalkBack on Tangor and entered overview with multiple
      opened apps, verified the information as below:
      1. The number of children pronounced by TalkBack is the number
         of RecentsView children.
      2. Talkback starts from the leftmost visible TaskView, which
         matches the logic that we added the TaskView in reverse order
         to the accessibility children list.
      3. Scrolled inside RecentsView, and checked the from and end
         indices of the a11 event are the same as before.
Change-Id: Ib3c37422ba940aed6c124a8cc0d4732144783d45
2024-12-18 16:46:46 +00:00
Saumya Prakash 1bcaab81e3 Merge "Close the multi instance menu when other things open" into main 2024-12-18 07:38:26 -08:00
Schneider Victor-Tulias 0b2c37ed72 Use DeviceProfile in NavBarGestureHandler and EdgeBackGestureHandler for the display size
DisplayController caches the display size, so when the user unfolds a foldable, the screen size is incorrect, which messes with the touch handling. Using DeviceProfile instead.

Flag: EXEMPT bug fix
Fixes: 361694048
Test: fold/unfold device during home/back/overview tutorial steps
Change-Id: Ie49f677f97ea5ddb0f91d2e662677edaaa81860a
2024-12-18 10:03:50 -05:00
Uwais Ashraf 7a829e98d8 Merge "Move cancellation of CoroutineScopes to bg thread as it can be slow." into main 2024-12-18 05:36:02 -08:00
Anushree Ganjam 8dae1be563 Update the All apps label to "Apps list"
Set the AccessibilityNodeInfo containerTitle to improve a11y for users
in predictionRow.

See expected behavior suggestion in  https://b.corp.google.com/issues/379640673#comment1

Video
Quickstep launcher: http://recall/-/cOtJfHR6buEyEHnRyCqzVE/eugH3ID7eenOuLwTszaLHk

Pixel launcher: http://recall/-/cOtJfHR6buEyEHnRyCqzVE/fftzwMRCy6N3o7OcwiGMdk

Bug: 379640673
Test: Manual
Flag: EXEMPT a11y bugfix
Change-Id: I23a8a142afb213c0801402a56bc134bc14f0f97d
2024-12-17 16:39:45 -08:00
Uwais Ashraf 2470d3fdf5 Move cancellation of CoroutineScopes to bg thread as it can be slow.
Bug: 381317629
Fix: 383999850
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual - checking perfetto traces for improvement
Test: Performance tests
Change-Id: Ic796fe578f5aa98ce060ac22341a1bcfa68061df
2024-12-17 23:33:55 +00:00
Treehugger Robot 446ea7592f Merge "Let getOffsetToDismissedTask not rely on taskCount" into main 2024-12-17 14:37:52 -08:00
Vinit Nayak cf332154c1 Hide App Chip for smaller app in 90:10 flex split
Bug: 384110883
Test: Tested with both halves made smaller,
large screen and small (phone has other existing bugs).
Lanscape and portrait.
Flag: com.android.wm.shell.enable_flexible_two_app_split

Change-Id: Ib6508c7b3192cc47fc8406cdf68c826bed29de5f
2024-12-17 13:52:39 -08:00
Mykola Podolian bd10730a57 Merge "Added an onClick listener to the bubble bar." into main 2024-12-17 10:36:14 -08:00
Will Osborn 2c658324e8 Don't update desktop visibility with final state until state transition has finished.
When exiting Overview, the Launcher.onIdpChange listener is indirectly
triggered by DesktopVisibilityController.onLauncherStateChanged because
with a desktop live tile the mode will have changed out of desktop mode.

onIdpChange is treated as a configuration change and triggers reapplyUi
which cancels currently running animations and causes the Overview->Home
animation not to run.

Bug: 378481525
Test: locally tested on TangorPro
Flag: EXEMPT bugfix
Change-Id: I1629e43d7b2fd960c5b999899b286e918a1e7aa4
2024-12-17 14:54:29 +00:00