Commit Graph

21775 Commits

Author SHA1 Message Date
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
Wen-chien Wang 8444f38c92 Merge "pin-shortcut: Tracks hotseat states and adds unpin option for taskbar" into main 2025-03-03 16:50:48 -08:00
Treehugger Robot 51a3a87b14 Merge "Arrows to scroll recent tasks in KQS" into main 2025-03-03 16:44:25 -08:00
Brian Isganitis 06d2e58105 Merge "Exclude All Apps divider in desktop mode." into main 2025-03-03 15:58:41 -08:00
Uwais Ashraf 994bc6dfcf Merge "Use Recents CoroutineScope with cancellable Jobs per TaskView." into main 2025-03-03 15:37:36 -08:00
Treehugger Robot 85ec44bcf9 Merge "Revert "Add debug logs to AbsSwipeUpHandler.calculateEndTarget"" into main 2025-03-03 15:14:01 -08:00
Treehugger Robot 5fcd02dff6 Merge "Fix NPE from navbar touch cancel without down." into main 2025-03-03 13:05:39 -08:00
Jagrut Desai 47b0246c26 Merge "Fix SystemNav and Taskbar related Memory Leaks" into main 2025-03-03 12:24:47 -08:00
Treehugger Robot 19e93afd91 Merge "Test all apps -> workspace drag for taskbar on home" into main 2025-03-03 11:59:21 -08:00
Schneider Victor-tulias 55c543622c Revert "Add debug logs to AbsSwipeUpHandler.calculateEndTarget"
This reverts commit f9c1e29766.

Reason for revert: debug logs no longer needed. issue found

Change-Id: I633d5d6a7386349f19b64ed12aecbc163b5c1c21
2025-03-03 11:46:57 -08:00
Brian Isganitis 8127148e02 Exclude All Apps divider in desktop mode.
Flag: com.android.launcher3.taskbar_recents_layout_transition
Bug: 315354060
Test: go/testedequals
Change-Id: Ic9cf42ad9a81357fe7452ed576663bedb54fbcf7
2025-03-03 14:42:16 -05:00
Mykola Podolian c095f8b318 Merge "Added accessibility action to move taskbar icon to the bubble bar" into main 2025-03-03 10:31:03 -08:00
Treehugger Robot 34d1359072 Merge "Disallow scroll to the AddDesktopButton" into main 2025-03-03 09:55:16 -08:00
Uwais Ashraf 7a797477ea Use Recents CoroutineScope with cancellable Jobs per TaskView.
This saves time on first usage which can happen during a CUJ on main.

Bug: 395294954
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Perfetto trace comparison
Change-Id: I496a00e3002f29830adbd8bb10857e78b16c68c8
2025-03-03 17:39:54 +00:00
Jagrut Desai 39dd498074 Fix SystemNav and Taskbar related Memory Leaks
Test: Presubmit
Bug: 398908322
Bug: 399884290
Flag: EXEMPT bugfix
Change-Id: Idf1ed3ff154e64de523b477aa34b67cbcd3cf8b4
2025-03-03 09:29:39 -08:00
Treehugger Robot 12934bc891 Merge "Skip TaskView settledProgress and fullscreenProgress updates for same progress value" into main 2025-03-03 08:52:00 -08:00
minch 5cb890579e Disallow scroll to the AddDesktopButton
Bug: 389209338
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: m
Change-Id: Ib9e5bc3ff73aed9facd1bad17d34722bd7a24652
2025-03-03 15:37:11 +00:00
Jordan Silva 266de900d5 Skip TaskView settledProgress and fullscreenProgress updates for same progress value
This prevents calling settledProgress with the same value multiple times during the onFullscreenProgress animation. It was causing a performance issue when the icon visibility was switching between VISIBILE and INVISIBLE each frame of the animation. More information in the comments of b/398318613.

Bug: 398318613
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual
Test: systemui-thermal-throttling-3-suite
Change-Id: Ib24bfd7541bb177d7141718fa36d2349f7ec9d46
2025-03-03 12:07:47 +00:00
Alex Chau 00677dffa7 Merge "Remove commented block in testOverviewForTablet" into main 2025-03-03 03:52:51 -08:00
Alex Chau 8619197e6a Merge "desktop-exploded-view: Calculate an accurate crop rect for desktop tasks" into main 2025-03-03 02:12:35 -08:00
Treehugger Robot 6e8347912c Merge changes I6846a3dd,I45356fd7 into main
* changes:
  Update ActiveGestureLogs to print gestures' display IDs
  Update TIS to use one input monitor per display
2025-03-02 18:07:04 -08:00
Schneider Victor-Tulias 841c6a98d2 Update ActiveGestureLogs to print gestures' display IDs
Flag: com.android.launcher3.enable_gesture_nav_on_connected_displays
Bug: 382130680
Test: connected an external display and checked logs
Change-Id: I6846a3dda77fc4afbbd83855aacca726eeb8eace
2025-03-02 16:03:32 -08:00
Schneider Victor-Tulias 21dba415e9 Update TIS to use one input monitor per display
Flag: com.android.launcher3.enable_gesture_nav_on_connected_displays
Bug: 382130680
Bug: 398881237
Test: connected an external display and attempted touch gestures. checked logs to ensure motion events are separated by display id
Change-Id: I45356fd7f1926685093833990d39c85a4a074c58
2025-03-02 16:03:08 -08:00
Treehugger Robot eb808032f1 Merge "Propagate the display id with SysUIState changes to launcher" into main 2025-02-28 22:14:13 -08:00
Mykola Podolian b0fe82378a Merge changes from topic "bubblebar_drop_target" into main
* changes:
  Removed fly-back animation after a taskbar item drop on the bubble bar
  Added BubbleBarLocation drop target.
2025-02-28 18:02:48 -08:00
Treehugger Robot 55dd78123c Merge "Taskbar on home should open all apps that support drag to workspace" into main 2025-02-28 17:04:20 -08:00
Toni Barzic a5c5536d7d Test all apps -> workspace drag for taskbar on home
Adds TAPL test that verifies users are able to drag app items from all
apps to workspace when all apps is opened on from a pinned taskbar shown
on the home screen, as may be the case when a desktop mode taskbar is
shown on home screen.

Adapts LauncherInstrumentation to handle the case where taskbar is shown
on home - when verifying launcher states, it sets taskbar visibility
expectations to account for a posibility that taskbar is visible in
home, or workspace states. Adds a request to the test protocol to
determine whether taskbar should be visible on home.

Bug: 392118517
Flag: com.android.window.flags.enter_desktop_by_default_on_freeform_displays
Test: Ran TaplTestLockedTaskbar tests
Change-Id: I40b06da70aaa49b0a3e0673797e6c18773a72238
2025-03-01 00:31:46 +00:00
Toni Barzic 26ad16592a Taskbar on home should open all apps that support drag to workspace
If taskbar is shown on home screen, have the taskbar all apps button
toggle the launcher activity version of all apps UI. This makes the
behavior consistent with how all apps system action (keyboard shortcut)
works, and addresses a gap in functionality where users are unable to
drag apps from the taskbar all apps UI to the workspace.

Bug: 392118517
Flag: com.android.window.flags.enter_desktop_by_default_on_freeform_displays
Test: On desktop device, toggle all apps from taskbar on home screen,
      drag and app from all apps to workspace.
Change-Id: Ida0f230bf38c6e1e35041556f33de1be85daf785
2025-02-28 21:31:46 +00:00
Toni Barzic 8ca3eaa345 Arrows to scroll recent tasks in KQS
Bug: 397878339
Bug: 397975686
Flag: com.android.launcher3.taskbar_overflow
Test: Enter taskbar overflow, and open the overflow view.
    Verify that arrow buttons are present; tapping them scrolls in the
    correct direction; when fully scrolled in a direction, the
    associated arrow button is disabled; verify arrow buttons have hover
    effects.
    Open Alt+Tab view, verify no buttons are present if the view cannot
    be scrolled (and present if the view can be scrolled).

Change-Id: Id1c37a2967a629aeb4b3cc2dc5ff7efb21c90cbe
2025-02-28 19:49:50 +00:00
Daniel Andersson 7250db2fee desktop-exploded-view: Calculate an accurate crop rect for desktop tasks
This change fixes crop rects on desktop tasks when exploded view is
enabled. The crop rect calculation now takes the current task rect
transform into account (which is used to position windows when exploded
view is enabled).

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 367353392
Change-Id: I2b296a5065a5bc74c8ba884f2329081546b40ad0
2025-02-28 11:17:38 -08:00
mpodolian 672a32a18b Removed fly-back animation after a taskbar item drop on the bubble bar
Added logic to track whether the drop target handled the app icon drop,
in order to prevent the fly-back animation in those cases.

Bug: 397459664
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Drop a taskbar icon onto the bubble bar. Observe that no
fly-back animation is performed for the dropped icon.

Change-Id: If439d7280fe9f713c181531ac899ac8ad37ed481
2025-02-28 10:01:13 -08:00
Orhan Uysal a7cd4f21d3 Merge "Change the misused logic" into main 2025-02-28 09:37:20 -08:00
Orhan Uysal 5e99882d75 Change the misused logic
Refactor from ag/31915496 was wrong. We should skip the transparent
activity tiles when there is a visible task already found not when
visible tasks are not found.

Bug: 397190111
Test: Enter any app, trigger circle to search, see only one tile
produced.
Flag: EXEMPT Bug fix

Change-Id: Ic19710a7d1f5be78e96aa5ac25553358732acf3b
2025-02-28 15:42:37 +00:00
Nicolo' Mazzucato 6bccfb49c2 Propagate the display id with SysUIState changes to launcher
This changes the ILauncherProxy.aidl interface to also allow propagating the display id from SysUI to launcher for each SysUIState update.

The SysUI part of filling SysUI state correctly has not been implemented yet. But for now, only default display flags are propagated anyway.

On the launcher side, the sysui state is propagated correctly to each taskbar instance (there is one for each display)

Bug: 362719719
Bug: 398011576
Bug: 399371607
Test: LauncherProxyServiceTest
Flag: com.android.systemui.shade_window_goes_around
Change-Id: Ic9fa55ca82e4fe395a915c4d611afc8835c5d65d
2025-02-28 10:34:55 +00:00
Andy Wickham 8cbe719df7 Fix NPE from navbar touch cancel without down.
TouchInteractionService sends a touch cancel when the screen turns
off, for example. So we shouldn't assume there was a touch down.

Fix: 398855863
Test: NavHandleLongPressInputConsumerTest#testTouchCancelWithoutTouchDown
Flag: EXEMPT bugfix
Change-Id: Ic1b6e981fe183864663bd44e1488d6f6749183bc
2025-02-28 00:51:42 +00:00
Treehugger Robot 1e8125c76b Merge "Merging some notification dots implementation" into main 2025-02-27 16:08:10 -08:00
Jagrut Desai 2ac4d9c794 Merge "Update Taskbar Icon content description to include state description" into main 2025-02-27 15:47:09 -08:00
mpodolian c666b9587b Added BubbleBarLocation drop target.
A drop target for the BubbleBarLocation has been added. This
implementation enables the Launcher process to handle application
drag-and-drop actions onto the bubble bar.

Known issues:
1) Upon dropping, the dragged icon animates back to its original taskbar
position from the top-left corner.
2) The expanded view drop target is not presented.
3) When an icon is dropped on the opposite side of the bubble bar, the
resulting location does not change, even though the drop target is
correctly displayed.

Bug: 397459664
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Navigate to the overview screen, drag a taskbar icon to
the left or right side, targeting the bubble bar drop zone. Verify the
drop target's appearance. Then, drop the icon and observe that a new
application bubble is added.

Change-Id: I0f64a664620959f2503ac3fd711476b354a09348
2025-02-27 14:32:32 -08:00
Alex Chau ee1bae7d72 Merge "Multi property refactor" into main 2025-02-27 13:41:07 -08:00
Treehugger Robot 9a5cd11da5 Merge "Move MainThreadInitializedObject to Launcher3 Go." into main 2025-02-27 13:03:12 -08:00
Treehugger Robot a557c6e9c4 Merge "Handle dismiss in land/seascape." into main 2025-02-27 12:58:25 -08:00
Treehugger Robot 3bb5996590 Merge "Removing unnecessary isBindingItems method from ActivityContext" into main 2025-02-27 11:32:53 -08:00
Alex Chau 9b1c812217 Remove commented block in testOverviewForTablet
- The block of code is no longer failing

Fix: 308841019
Test: testOverviewForTablet
Flag: EXEMPT TEST_ONLY
Change-Id: Ibf2bd7b5ff8c0814d803bc519814072fe1421540
2025-02-27 18:23:16 +00:00
Jagrut Desai 536097dec2 Update Taskbar Icon content description to include state description
This cl inlcudes: while user is in desktop mode, we will add state description(active, minimized) of each app icon to it's content description.

Test: Manual
Bug: 397555157
Flag: EXEMPT bugfix
Change-Id: Iaec18e7099108e8b076b76c637a41e29ed837265
2025-02-27 09:58:31 -08:00
Sunny Goyal 39063bf167 Merging some notification dots implementation
Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: Ie02311afba85f06fbafd265a5015cd23bd356a36
2025-02-27 08:50:26 -08:00
Sunny Goyal d8e5ddb4cd Removing unnecessary isBindingItems method from ActivityContext
Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: I06fd1dcc81da5e5502a9fb0751c2701b26fd4621
2025-02-27 08:49:33 -08:00
Alex Chau 3c3d636dc9 Multi property refactor
- Introduced MultiPropertyDelegate to delegate Kotlin var to MultipPropertyFactory, allowing easy creation of var for MultiPropertyFactory
- Introduced KFloatProperty to map any Kotlin var to a FloatProperty, which simplify the code to creaet FloatProperty a lot
- Combined the above to refactor usage of MultipPropertyFactory, use var to simplfiy things, and expose them as FloatProperty directly when needed

Fix: 399635468
Test: Smoke test main flow of enter Overview, task launching etc.
Test: presubmit
Flag: EXEMPT REFACTOR
Change-Id: Ie7dd8b69da7e3bda9026a0ef7b0377c26a78a332
2025-02-27 16:01:32 +00:00
Mykola Podolian aee4b11336 Merge "Added a bubble bar location argument to IPC calls adding app bubbles." into main 2025-02-26 17:10:14 -08:00
Anushree Ganjam e6065f5a94 Move MainThreadInitializedObject to Launcher3 Go.
Move SandboxContext to a separate class.
Remove all MainThreadInitializedObject references in Launcher3 and tests.
Remove ObjectSandbox interface and make RoboApplication extend
SandboxContext

Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I1a8af5e6ae59df44d8ad6732b4d6e949ac402d6c
2025-02-26 16:49:08 -08:00
mpodolian f53e369650 Added accessibility action to move taskbar icon to the bubble bar
Create an accessibility action to create application bubble from the
taskbar icon

Fixes: 394159660
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Trigger "Actions" for the taskbar icon. One of the action
would be "Create application bubble". Activate action for the selected
icon. Observe new bubble is created.

Change-Id: I9b20631e0536e9bef23bed24389a7804bb45a4e2
2025-02-26 14:38:54 -08:00