Commit Graph

23356 Commits

Author SHA1 Message Date
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
Shamali P c7b3ec241e [Part 1] Clean up references to flags from past release.
Cleans up the categorized suggestions flag.

Bug: 399933655
Flag: EXEMPT cleanup
Test: Screenshot tests
Change-Id: I6cbd1b4e912a51e7cfe50171424512300f2d783f
2025-02-28 22:45:50 +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
Alex Chau 59e8c59ec6 Update gridTranslation of live tile when gestures ends
- Instead of updating in updateGridProperties, which will be re-run after dismiss and potentially apply wrong translations to live tile.
- Also set gridTranslationX of live tile to 0, as recentsScroll already takes care of horizontally task offest
- Guaded assigning RemoteTargetHandle to DesktopTaskView with enableDrawingLiveTile, so going to Home won't continue to mananages the TaskViewSimulator

Fix: 398231631
Fix: 394316748
Test: App to Overview with live tile on different location in the grid
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I2e0f83a55421279581f3632c16c1e4c41d1fdae6
2025-02-28 18:48:40 +00:00
Randy Pfohl 42405b2fa3 Enabling secondary deviceprofile creation in windowcontext
Test: Built and ran locally

Flag: com.android.launcher3.enable_fallback_overview_in_window
      com.android.launcher3.enable_launcher_overview_in_window

Change-Id: Iafb75840c4acadb35eb9e89810e9de61bbeda326
2025-02-28 18:14:02 +00: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
Sam Cackett e0cc96df62 Add TaskContentView parent to TaskThumbnailViewHeader and TTV
- Add TaskContentView parent view
- Extract TaskThumbnailViewHeader logic and any related state out of
TaskThumbnailView and move to TaskContentView
- Use vertical LinearLayoutManager to hold the TaskThumbnailViewHeader
and TaskThumbnailView
- Rename TaskThumbnailViewHeader to TaskHeaderView. Rename xml and state
 similarly

Bug: 397889146
Flag: EXEMPT. Refactor
Test: Refactoring CL. Existing unit tests still pass.

Change-Id: Ie31f35c6617aab272f984a6beb3e4cb8f58e3ce9
2025-02-28 12:19:26 +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
Treehugger Robot 7699ddc59d Merge "Use MultiValueAlpha in ClearAllButton" into main 2025-02-26 13:04:40 -08:00
Treehugger Robot 83fb76700c Merge "Convert PortraitPagedViewHandler to Kotlin." into main 2025-02-26 13:01:12 -08:00
Treehugger Robot acadebfaa1 Merge "Let TaskView allow empty TaskContainers" into main 2025-02-26 12:54:24 -08:00
minch b8d4758d4e Let TaskView allow empty TaskContainers
Bug: 391918297
Flag: EXEMPT refactor
Test: m
Change-Id: Ia12c01746e6b31ac980c367f1c0144e69765f2a5
2025-02-26 12:50:04 -08:00
Treehugger Robot 7eb5734d77 Merge "Convert ClearAllButton to Kotlin" into main 2025-02-26 12:47:02 -08:00
Treehugger Robot eaa0136bba Merge "Skip animation when clicking on menu action from App Chip Menu." into main 2025-02-26 12:19:29 -08:00
Saumya Prakash a368becdfb Merge "Ensure Talkback announces text correctly in Gesture tutorial" into main 2025-02-26 11:21:39 -08:00
minch 1a39494c82 Use MultiValueAlpha in ClearAllButton
Bug: 389209338
Flag: EXEMPT refactor
Test: m
Change-Id: Ia6f3f9059444161829c76373b80b354a155fd69d
2025-02-26 18:55:34 +00:00
Treehugger Robot 25facca397 Merge "Prevent taskbar from stashing in overview in live tile mode." into main 2025-02-26 10:20:54 -08:00
Pat Manning f1fe5c0af8 Handle dismiss in land/seascape.
Determine correct "vertical" direction based on page orientation and rtl.

Fix: 398850444
Test: Manual
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: If1857c5315f98fb3cc18a643d56c3c7d539deac0
2025-02-26 10:08:14 -08:00
Jordan Silva 604906bb3c Skip animation when clicking on menu action from App Chip Menu.
Also, skips chip collapse animation when isSplitSelection is active to improve the performance.
This animation is not visible for the user, so we reduced the duration to 0 and reset the chip to the correct state.

Bug: 398318613
Flag: com.android.launcher3.enable_overview_icon_menu
Test: OverviewImageTest
Change-Id: I79d543167eb172e6d3a8306122035396e9ee2e7c
2025-02-26 16:55:30 +00:00
Pat Manning 93f530707b Convert PortraitPagedViewHandler to Kotlin.
Fix: 399332680
Test: Everything builds.
Flag: EXEMPT. Simple conversion.
Change-Id: Ib9fbaf14991716ed4135d0430945729d8448b4cd
2025-02-26 07:38:06 -08:00
minch b8aacf2d93 Convert ClearAllButton to Kotlin
Bug: 389209338
Flag: EXEMPT refactor
Test: m
Change-Id: Iaafe69ae14744e418d3c30d4d9fc6f417f36f230
2025-02-26 15:27:37 +00:00
Treehugger Robot d9435c6d41 Merge "If the desktop task is visible, increase the count" into main 2025-02-26 02:08:25 -08:00
Treehugger Robot 006ea72afe Merge "More test for taskbar overflow" into main 2025-02-25 22:35:47 -08:00
Saumya Prakash 3fe4e7d90f Ensure Talkback announces text correctly in Gesture tutorial
This change modifies how Talkback announces the title and the subtitle
in the gesture navigation tutorial. It no longer shifts the focus to the
subtitle, but instead makes the whole window focusable.

Fix: 386884587
Test: Open the gesture tutorial with talkback and ensure the text is
announced without change of focus. Ensure the Done button doesn't get
announced
Flag: EXEMPT bugfix

Change-Id: Id28382acbebe763f2f64f4e49eb00d6ea61e0553
2025-02-26 05:47:34 +00:00
mpodolian 1a4025a10d Added a bubble bar location argument to IPC calls adding app bubbles.
Added an optional bubble bar location to the IBubbles.aidl interface
adding bubble methods to allow the launcher to update the bubble bar's
location when dragging application icons into it within the launcher
process.

Bug: 397459664
Flag: com.android.wm.shell.enable_create_any_bubble
Test: N/A
Change-Id: Ief2296146a686a72d79a5d92522feb9c7a949470
2025-02-25 15:52:05 -08:00
Orhan Uysal ba7b64ba13 If the desktop task is visible, increase the count
When the desktop tasks are visible while constructing tasks, increase the number of visible tasks count by 1. Otherwise we might not exclude tasks that are marked as transparent and exludeFromRecents in the constructed list.

Fix: 397190111
Test: Enter desktop, trigger CtS and swipe up. Observe there is only one
desktop tile
Flag: EXEMPT Bug fix

Change-Id: Iabb382b20305a9a5b099bf8ee09a96ac13d0f36d
2025-02-25 18:19:08 +00:00
Jon Miranda 294e029be0 Prevent taskbar from stashing in overview in live tile mode.
Fixes: 354627538
Flag: EXEMPT bugfix
Test: Open app, go to overview, pause app
Change-Id: I82717747408f5776a50aa239c384f87927b54832
2025-02-25 10:12:28 -08:00
Brian Isganitis fbd55aeda4 Merge "Have per-environment bindings for Taskbar multivalent tests." into main 2025-02-25 09:53:16 -08:00
Thu-Huong Vu 803145f6f5 Merge "Add a growth broadcast receiver in taskbar." into main 2025-02-25 09:45:00 -08:00
Will Osborn 8bc3268ec4 Merge "DisplayController refactoring for multiple displays" into main 2025-02-25 08:16:52 -08:00