Previously we were ending the atomic animation with the assumption
that it should be complete/almost complete by the time you drag to
the next state. However, it is very easy to drag quickly enough where
that assumption doesn't hold, and thus you just see the atomic
animation pop to the end (i.e. recents showing without animation).
Now instead of ending the atomic animation, we let it continue. But
because the new state animation will have an atomic component that
interferes with the still playing atomic animation, we have to
control the atomic component separately; we control the non-atomic
components until the atomic animation ends, at which point we create
a separate controller to control the atomic components.
Bug: 76449024
Change-Id: Ia4bf19e26d0838f952d9e500fbdd8aba19856a41
State handlers can now specify atomic and non-atomic components of
their animations to states, which can be specified when creating a
new animation. There is now one atomic animation, when going from
NORMAL to OVERVIEW (and in reverse):
- RecentsViewStateController's animation (scale/alpha) is all atomic
- WorkspaceStateTransitionAnimation has atomic and non-atomic:
- Hotseat and workspace alpha is atomic, as is workspace scale
- Everything else (scrim, translation, qsb and drag handle alpha) is
non-atomic
- All apps progress is non-atomic
Also simplified dragging through overview; no longer pulls against you,
so we use an OvershootInterpolator when flinging instead of our custom
interpolator for the spring effect.
Bug: 76449024
Bug: 78089840
Change-Id: Iafac84d0c2b99ee9cf9dd5b30e2218286713b449
> Converting the scrim to View, to better avoid overdraw
> Overview and Spring loaded state have different scrim alpha
> When going from overview to all-apps, there is a color scrim drawn over the overview panel.
The slef color is merged with this color to prevent overdraw, and the remaining screen is drawn
with a cut-out round rect path
Bug: 79111591
Change-Id: I26801fde13dd6adb4b06110bbe8087e35cc31847
Insets may not correctly indicate seascape configuration in multi-window or
when the presence of device-cutouts
Bug: 79376298
Change-Id: I8268efca0001fe527a0ffefe48cc71e774fad01c
In some cases, we prematurely clear the force invisible flag before composing
the launcher animation, causing us to skip the animation.
Bug: 77205145
Change-Id: I4224741649a4fef34e255abac7b66bcf919c042f
to the main recyclerview even when the work recyclerview was active which
resulted in the recyclerview not responding to scroll changes.
Bug: 72426657
Change-Id: I13c43137d69cd73ff7bdfe641f564f18f8443595
Disabling accessibility of Workspace (not Recents!) while in Overview,
thus removing strange box appearing while navigating with Switch Access
though Overview. See discussing in the bug.
Bug: 78464518
Change-Id: I86b10e3e435af6e45a94c867e7efcdb5553d32d2
Testing: Manual
We manually dispatch cancel when returning to the previous state in
onDragEnd(), but could end in a bad state if getting a second,
external cancel (e.g. by pressing home). Thus, we restore the
onCancelListener after manually dispatching cancel.
Bug: 79258868
Change-Id: Idc4c33cede1d8af1829a4a744b9348d379bcf8f7
This will break the initial focus assignment. This should be later fixed
in Talkback.
Bug: 72409756
Test: Talkback reads pane title, even though at a wrong moment.
Change-Id: I38458ef7c3b5745169d7bc17ce8751f683ba9c71
In multi-window, we only have the correct availableWidth and not the correct width.
Use availableWidth for setting padding instead of fullWidth
Change-Id: Id437088eea49ab5ad103ded6eed904d776e728c9
This cleans up the code and ensures that the current state animation
is always initialized when we get drag events.
Also log when we pass through states.
Bug: 78017680
Change-Id: I54ab42923ed539940ea708973ad65f5793669c11
- Launcher uses the same consumer to handle task launch failure and
animation-cancel, so only show the notification when it is an
actual launch failure.
Bug: 79209142
Change-Id: I6b708ac9888673056f2c6de1d5aee4a281c61027
- This scrolls the recents view, which affects the empty recents icon
position.
Bug: 79170402
Test: Clear all tasks, then quickscrub
Change-Id: I316805c0083d4ad65a8df0fafd88545859054405