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
Loading
Please register or sign in to comment