Fix unexpected surface visible after closing animation
As CL[1] introduced a behavior to keep the window surface when performing the closing transition. However in ActivityRecord#postApplyAnimation didn't call onAnimationFinished when app transition finished because the logic of delayed for isAnimating added TRANSITION flag to keep delaying the finish callback. That makes ActivityRecord#onExitAnimationDone will not be executed expectedly and some surfaces will end up not remove and caused some app compatibility issue. (i.e. Launching activity from nova launcher's shortcut and going to home to all apps will see the previous shortcut surface persisted on the screen) Since adding TRANSITION flag here maybe too rough and might be error-prone since "transitioning" is not yet to be running animation, basically we don't expect it should delay the finished animation callback. [1]: I4da65a8d302af6ab846a19132397bfbac4ff2f4e Fix: 202373844 Test: atest ActivityRecordTests#testInClosingAnimation_doNotHideSurface Test: manual as issue steps: 1. Have Nova launcher by default 2. Launch a activity from nova launcher's shortcut 3. Swipe up to get the applications drawer 4. Click and type the top searchbox to filter apps 5: Expect there is no icon surface shown to block the typing on the soft-keyboard. Change-Id: Id3b653f93404f41febf654ece1f57cc6262ae257
Loading
Please register or sign in to comment