- Remove mFinishingRecentsAnimationTaskId and related logic;
track mLastStartedTaskId and mLastAppearedTaskTarget instead.
- Don't finish controller if new gesture is in progress, only
finish it when the last started task appears (and invalidate
the handler at that point).
- Remove onTaskAppeared() from GestureState, handle it directly
in BaseSwipeHandler.
- When the end target animation finishes, possibly change the
end target from LAST_TASK to NEW_TASK or vice versa,
depending on the last appeared task.
Bug: 154814771
Bug: 154727089
Bug: 155609695
Bug: 154812078
Change-Id: I38669515d064a131361359087f502783d875ddde
- Separate the calls to minimize split and to update the flags (we only
want to minimize in split when swiping up, but we want to update the
flags when quickswitching as well)
Bug: 155410195
Change-Id: I56308cc0fbaa8a855383012738f129671d72feff
Launcher can now receive onTaskAppeared callback from
RecentsAnimationController to get remote animation target when in quick
switch mode.
Note: This CL just demonstrates how to receive callback and then
calling removeTask & finish recents animation,
in order to really improve quick switch flicking, launcher side needs
to implement the rest of logic to animate task's remote animation target
to make task switching more smoothly.
Bug: 152480470
Test: WIP
Change-Id: Id0371db7339cfe84942cc905a89b0a2c1fab62ec
(cherry picked from commit bec41bc5b9)
- If any call to finish the recents animation comes in before
onRecentsAnimationStarted, we'll clear the callbacks but the listener
registered in startRecentsAnimation will persist. Since the call
to actually finish the animation with the system is posted on the
main thread, if the animation started callback returns in that time,
the controller will be set (via the listener) but the callbacks will
be unset. Instead, we can clear all the listeners from the previous
callbacks when cleaning up the animation.
Bug: 145758818
Change-Id: I29dab94f5fb25f762a823d59ef318a361282b595
- Add TaskAnimationManager which keeps track of the animation state whose
lifecycle can be longer than the gesture. Move some of the logic related
to cleaning up old animations into this class (called when the state is
shared across gestures).
- Instead of calling into the shared state directly via UIFactory, add
callback to cleanup the animation and shared state from Launcher
Bug: 141886704
Change-Id: Ib6140b37162f7460a20fa1046cfd4f4068e4a1c6
Signed-off-by: Winson Chung <winsonc@google.com>
- Move the recents animation classes out of util into base quickstep pkg
- Clean up some local var names
Bug: 141886704
Change-Id: I1556179e203cbb43b77ea58e6fe520aa9944099b