Commit Graph

8 Commits

Author SHA1 Message Date
Tony Wickham
cc9fe80323 Cleanup quick switch logic
- 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
2020-05-07 15:39:57 -05:00
Winson Chung
a7ac7192c3 Fix issue with quickswitch not updating system bar flags
- 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
2020-04-30 13:58:22 -07:00
lumark
9494f58409 Trigger onTaskAppeared when a task started from recents becomes ready.
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)
2020-04-14 20:51:40 +00:00
vadimt
e206b031a6 Removing tracing for fixed bug
Bug: 152658211
Change-Id: Idc1643a879fca47a50bd58090bbb72a284fd8d59
2020-04-09 16:41:01 -07:00
vadimt
459a6b091b Adding tracing for quick switch not working
Bug: 152658211
Change-Id: I61686452eb1eeffbfd8ab74c59532807968068ae
2020-03-30 10:25:04 -07:00
Winson Chung
b53573d651 Fix issue with out of order callbacks
- 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
2020-02-13 16:07:44 -08:00
Winson Chung
c9bf6d45ac 9/ Clean up swipe shared state
- 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>
2019-10-16 17:17:34 -07:00
Winson Chung
d3da92ac66 7/ Rename RecentsAnimationWrapper
- Move the recents animation classes out of util into base quickstep pkg
- Clean up some local var names

Bug: 141886704
Change-Id: I1556179e203cbb43b77ea58e6fe520aa9944099b
2019-10-08 13:30:27 -07:00