Fix app transition delayed cases
When same app repeats to switch resume & stop quickly, it will have the timing that update app allDrawn state as true but quickly set as false due to activity stopped. If the next open transition didn’t get allDrawn in time by WindowSurfacePlacer#performTravesal, it will be delayed since allDrawn state is obsoleted. So when WindowState#mDestroying is in true to false state, it's need to check if the window belongs current waiting transition and then call WindowSurfacePlacer#performTravesal to update allDrawn state in time. Also fix another delayed case during launching app with trampoline activity in External display with freeform windowing mode, due to process closing transition for finishing trampoline activity that broken by the next acitivity already resumed, so the open transition can’t get drawn state and then got transition timeout. In finishCurrentAcitvityLocked, addd a check if the finishing activity is floating task, if so then we can just destroy it without waiting the next activity resume. Fix: 123433575 Test: manual - case 1) Repeats launch Contacts app and pressing home key 100 times without met app transition 5 secs delay. - case 2) Enabling Simulated display & forcing desktop mode, launch Files or Calendar app on external display without seeing app transition 5 secs delay. Change-Id: I58e3787974535b2d5b5690f188ace94026fa2687
Loading
Please register or sign in to comment