Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 5cf9edc1 authored by Tony Wickham's avatar Tony Wickham
Browse files

Don't run finish callback until we actually finish

This fixes the issue where the app re-appears on top if you touch
the nav bar during the animation to home.

The sequence of events leading to this behavior is pretty long,
but actually always should have happened, it was just masked
until the ag/11172732 fix went in.

Here's an abbreviated version of what was happening
on the touch down during the animation to home:
1 Set mRecentsAnimationController#mTouchInProgress = true
2 Cancel the running animation to home
3 onSettledOnEndTarget(HOME) (this is what was missing before)
4 finishCurrentTransitionToHome(), which, due to #1, doesn't
  actually finish the controller, but does run the callback
5 Invalidate the handler due to #4, leading to TIS#reset()
6 Create a new handler (still from the original touch down),
  which is mResetGestureInputConsumer
7 mResetGestureInputConsumer handles touch down to finish
  the controller the app

This change addresses #4. Instead of calling the callback
immediately, we defer it to when we actually finish the
controller, which ensures there's no longer premature
cleanup that leads to the rest of the sequence.

Bug: 157407284
Change-Id: I0b2ff57bfa77a25c2bf1aece4b0ae7f943637ce6
parent 517cec53
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment