- 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
Bug: 231213105
Test: from home, opened recents, then went back home, then went back to recents, resumed an app, then went back to recents and resumed the same app (both in 3-button and gesture nav)
Change-Id: I83b1b33cafb95353f36a126b93fcaf3b536d3bf4
Taskbar all apps predictions were being ignored when animating a cancelled drag to their original position. This was causing a null pointer since they no longer had a view parent that could be used. These icons will now animated to the taskbar all apps icon.
Fixes: 236669335
Test: cancelled drags of taskbar icons, predicted taskbar icons, taskbar all apps icons and taskbar all apps prediction icons
Change-Id: I2a9a1ed4120927a08b8c8341ad36dfdb95fef608
This removed unnecessary componentName lookups when it
is not required. Many checks just rely on IDs and
userHandle
Bug: 231153610
Test: Presubmit
Change-Id: Ief93954abc5861062a9f55dc2ef181d3de106c62
The surfaceControl transaction is performed more than once so close
the transaction at the end of the animation.
Test: manual - start a drag from taskbar into split and then pull it
back so that it doesn't complete
=> ensure taskbar doesn't flicker / no crash in logs
Bug: 228006271
Change-Id: I38c8efe310596bbbbf09f361c266a7fefc1b2eea
- Added TAPL objects to support TAPL tests for taskbar features
- Added tests for major taskbar features: hiding/showing the taskbar, opening all apps, lauching apps and app deep shortcuts from the taskbar/all apps page, launching apps and app deep shortcuts in splitscreen
- These tests should only run for large devices
Design: go/taskbar-tapl-tests
Test: ran tests locally with invalid configurations and remotely
Bug: 215218813
Change-Id: I3c28c339707467414aa47fa633f87fa0c1fdee57
- Added getFirstMatch() instead of using mapOverItems() (was a bit cleaner using ItemInfoMatcher)
- Match based on package name / UserHandle for deep shortcuts case
Test: drag deep shortcut from taskbar icon, inside folder, inside all apps; drag regular icons as well
Fixes: 222574524
Change-Id: Id5fdee29110f143c1125edc6945af09ab0a8d8ce
Touches are ignored as soon as we want to start system drag so that system drag can start sooner (i.e. before any AbstractFloatingView animations finish). This approach utilizes ViewTreeObserverWrapper's compute insets listener by temporarily setting the touch region to empty. The taskbar window remains fullscreen until the drag finishes so the touch region is reset at the right point. Similarly, the all apps window is kept open during its drag operations until the drag finishes. System drag state is now exposed through the drag controller to skip predrag.
Test: Manual by dragging to split screen and triggering dismissal
animation from both windows. Verified predrag works.
Fix: 221104066
Fix: 220070070
Change-Id: I424106269c841f58cbe5338d30b6c33fbd889019
All apps should display below system UI components such as the
notification tray and power menu, so an overlay window is more
appropriate. As a result, all apps has a separate window activity
context, but some properties are delegated to the taskbar activity
context. Taskbar should also be stashed while all apps is open.
Change-Id: I593457708779d84a0ab8b949a966d247d0a2e1b7
Test: Manual
Bug: 216843189
Fix: 217383817
(cherry picked from commit 473b980bf9)
- Determine the task in the group being clicked in split-select mode
and launch split using that selected task
- Also make sure we don't handle drag cancel twice when we are animating
the return of the drag surface
Bug: 219060441
Test: Split from home/overview with fullscreen+fullscreen task, and with
fullscreen+split task
Change-Id: I48ec0a82812197803ff4b3698830a9cb705719e3
Bug: 179390870
Test: Drag, but don't drop to split an app from the taskbar and
check that Launcher animates the surface back into place
Change-Id: I726855ff5bdffd1fc58d2839b3cc44b3fdb131e9
Invoking the drawer is currently hooked up to tapping empty space on the
taskbar. Apps can be launched, and drag-n-drop split screen works. The
drawer can only be dismissed by acting on an app icon or tapping the
taskbar again.
Test: Manual
Bug: 204696617
Change-Id: I7c5fdbc7d54d8209f6f15ef80bfeb5e9b80cf647
- Fixed icons disappearing when initiating dragging
- Fixed incorrect icon location when initiating dragging after rotating the screen to an orientation other than what launcher started in
Fixes: 215418478
Fixes: 214025075
Test: dragged icons from the workspace and taskbar
Change-Id: I848138af28802f7d806708c77c25b8de307c70d8