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
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
Added logic to show and hide the bubble bar drop target on Shell
drag-and-drop events.
Test: Manual. Drag a shortcut or an application icon from the taskbar to
the bubble bar drop zone. Observe that if the bubble bar is showing
bubbles, the background stroke color becomes non-transparent; if there
are no bubbles, the drop zone appears. Drag the app icon to the opposite
side and observe that the bubble bar location is animated or the drop
zone appears on the dragged side. Drop the application icon or shortcut
on any side and observe that a new bubble is added and immediately
expanded. Additionally, the bubble bar remains at the drop location.
expanded.
Bug: 388894910
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: I581dddf2c76ac982a5c78bc32d94b79bf63fd2b9
This CL does the following:
- Adds new methods `isInDesktopMode()` and
`isInDesktopModeAndNotInOverview()` to `DesktopVisibilityController`.
- These two methods rely on the new multi-desks impl when the flags are
enabled.
- Makes the existing `areDesktopTasksVisible()` and
`areDesktopTasksVisibleAndNotInOverview()` private, and migrates all
the usages to the new methods.
- The new methods uses the old methods if the flags are disabled.
A companion NexusLauncher CL is at ag/31601363.
Bug: 394182435
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I29ff38f984bfe2f68a120f84e1a75fa36b739258
Included an application shortcut extra in the arguments for system
drag and drop initiated from the taskbar. With this intent, the
Shell process can add an application shortcut bubble.
Bug: 388894910
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Have a shortcut and app icons in the taskbar.
Drag and drop both items over the bubble drop zone.
Observe that items are added to the bubble bar.
video: http://recall/-/gx8ASgewUeUS3QYohfrd1J/fnHDKrNWzJEzRw6rgIm0fG
Change-Id: I232da417facb22919a2bebd23e712c1d877c218e
See go/refactor-group-task for details. This CL removes all the usages
of `task1` and `task2` from `GroupTask` in Launcher3. Follow-up CLs will
remove it from NexusLauncher and remove the fields altogether.
Bug: 388593902
Test: m
Flag: EXEMPT pure refactor with no behavior change.
Change-Id: I902c8135b3a0aae95acf25267b3bcbf286bd4e7d
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
Moved DesktopVisibilityController to TIS for 3P launcher support.
Flag: EXEMPT bug fix
Fixes: 338063030
Fixes: 357859025
Test: Launched overview and resumed desktop task from desktop mode on 1P and 3P launchers
Change-Id: I64e99a32ed13bcb6e4a81a18c29df2643373dc35
- Re-support GroupTask as a tag on TaskbarView BubbleTextViews
- Can tap to launch (startActivityFromRecents) or drag and drop
- Move divider when enable_recents_in_taskbar is true
Behavior:
- While in Desktop mode, all open tasks show up in TaskbarView,
either in the Hotseat section or the Running apps section
past the divider. Each one also has a running line indicator.
- While in Fullscreen mode, up to 2 Recent apps that are not
part of Hotseat will be added to the right of the divider.
Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Bug: 315354060
Change-Id: I2e2870cca434b51f276a701860edb32069109159
Currently drag from taskbar is broken. It will be fixed once drag from
taskbar to desktop is implemented in b/297921594.
Bug: 323388149
Test: Try to drag an app from taskbar while in desktop, see that app is
not launch and icon goes back to it's place in taskbar.
Flag: NONE
Change-Id: I27e73d8262e14944b34e193397a83f8435813339
This ensures that any global animation scale applies properly
Bug: 327645429
Flag: NONE
Test: Manual
Change-Id: I12205429dca5a87208fa9964b3307fb718af4fd0
- This also goes through the app predictions pipeline to update
hotseat predictions
Fixes: 316940471
Test: Drag apps to split screen, ensure taskbar predictions update
(also verify by logging AppPredictor#notifyAppTargetEvent)
Flag: None
Change-Id: I844414ecb56b4e36a2c94d913c1fb37abf056593
- Includes initial support for obtaining PendingIntent for ITEM_TYPE_SEARCH_ACTION.
- Custom pre-drag conditions for search results can be provided through TaskbarSearchSessionController.
- Added detection for telling when DragView shift animation ends for
pre-drag condition usage.
Test: Manual
Bug: 289261756
Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR
Change-Id: I52510a6f3ee49968134ecb591ef7c4df711b9d3d
- Invalid params trigger an exception to be thrown when starting a
system drag
Bug: 269016702
Test: Presubmit
Change-Id: I4b1953afd72ab1c6d41f3b5b536f9578ef40d792
For 1, when animateShift() is called shiftAnimation() is the only thing needed.
2, by having point saved in preDragCondition, we can use that to update the drag layers and not have to
modify registrationX/Y later
Removed dragVisualizedOffset since it does not do anything.
There is an issue that also needs to be fixed if user decides to long click
on a search result and let go, the icon flashes at the touch point when you let go.. so we check when mContent can be shown in DragView
depending on if there is dragOffset.
If there is dragOffset, set mContent to invisible.
If there is no dragOffset, set mContent to visible because it doesn't matter as the original content is at the same spot.
bug: 245659929
test: manual: video: https://drive.google.com/file/d/1JQ0pud31HU0WlrqecX0v1cdPKQ37jQCf/view?usp=sharing
Change-Id: I4d2276b9c43e1e92c45d8538b8dde70baa84a5e8
Additionally, this CL fixes some touchable insets issues with the
overlay window. Dragging and dropping is now reliable from taskbar while
All Apps or EDU is also open.
Change-Id: Ia612c1b5266a8fb2b7005a773fbd2b00ec4824db
Bug: 279465803
Bug: 275890048
Bug: 264463659
Flag: PERSISTENT_TASKBAR_OVER_TASKBAR_ALL_APPS (Teamfood)
Test: Taskbar is functional over All Apps and EDU.
Instead, keep the taskbar open for the normal timeout.
Test: Drag an app from taskbar and drop back in taskbar, ensure taskbar
stays open until 5 second timeout; Drag an app from taskbar and drop
into split screen, ensure taskbar stashes immediately
Flag: ENABLE_TRANSIENT_TASKBAR true
Fixes: 275019813
Change-Id: I06ca0eccbfe313dbae8f6d96c7c09bb659f6a27b
Test: drag a predicted app from taskbar, ensure both ring and icon are
set to grayscale
Fixes: 268759548
Change-Id: I764ebcd486c09eceaf30c5bd5153a1dd2ff5be72
- Use getSourceVisualDragBounds() if the target view is BubbleTextView;
this accounts for padding as well as extra ring inset for
PredictedAppIcon
- Also ensure we always use the final drag view scale when switching to
the system drag and drop, instead of using the current scale which
might be in the process of animating
Test: drag regular and predicted icons in taskbar, but drop it in a
region that doesn't accept it (e.g. the taskbar itself), check that the
return animation scales and offsets more correctly than before
Bug: 269814838
Change-Id: Ie8398b2617340e1d2568773563aa0263a3366940
- Don't stash until drag ends, but immediately stash at that point
(regardless of success or failure, though failure will animate to the
original icon before stashing)
- Send transient taskbar's bounds to WM Shell via intent extra such that
they ignore drag events in that region
Test: manual in persistent and transient taskbar
Bug: 269814838
Fixes: 268526633
Fixes: 259645384
Change-Id: I5ded3998046f259ed6e79cb4ed765ad7b0c72e45
Remove the on drag listener for the drag layer
in the taskbar after ACTION_DRAG_ENDED is received
This is an additional refactoring discussed
in ag/20490352
Bug: 258850827
Test: manually reproduced the steps in the bug
Change-Id: Ibe207001f41d3ba97a8acaf17d633cbd6682fafd
This change affects the preDragCondition for icons that do not have a
popup menu. The condition assumes we are still in pre-drag after
DragView is finished animating, but the user can cancel the drag in this
time (e.g. by releasing their finger early).
Test: Manual. Holding and releasing on suspended icon does not crash,
while holding and dragging still works as expected.
Fix: 258233476
Change-Id: Ic76f785cffcbfe0fe51eb1473022f2dc34563070
Transient taskbar needs to be stashed upon
dragging the icon from it to create a
splitscreen.
Bug: 258850827
Test: manually reproduced the steps in the bug
Change-Id: I88f2b4b25cb4c12fbe7e646a8ed668921ef24ab9
* Don't close TaskbarAllApps once drag starts
(see comment in code regarding needing multiple shared drag
layers)
* Hide app menu split options for taskbar in overview
* One TODO is that the animation needs to be tweaked
because the scale of the icon when it's returned is too large.
* I think maybe we have to change the
TaskbarDragController#mDragIconSize since that gets directly
set from a resource. Unclear.
Test: Dragged in TaskbarAllApps in overivew and in split
select, app returned to original position and not taskbar
Bug: 251747761
Change-Id: I785f34b0bdb0b0abfc440450494074f8dfe7c31a
* Still need to disable drag from all apps in overview
* Disallow any taskbar icon long click when in split select
Bug: 251747761
Test: Drag from hotseat and predicted icons in overview,
snaps back to position
Change-Id: Ib9b068e4914b9197614c8e8f49b7899bb964f92b
This will help SysUI test team (who uses TAPL) to set up Gradle build for their tests.
Bug: 202567877, 234414088
Test: presubmit
Change-Id: I3d923ea4b54d1a4c3d2b345be09692727d30433e
This will help SysUI test team (who uses TAPL) to set up Gradle build for their tests.
Bug: 202567877
Test: presubmit
Change-Id: I95c267e46cf675ac44dc27b07d0a1143ab761e35