Remove lingering content overlays in onTaskVanished
onTaskVanished already attempted to do some last resort overlay cleanup, but because onExitPipFinished was called right above it, and it internally set the state=UNDEFINED, the overlay removal in onTaskVanished was always a no-op. This change changes the order of onExitPipFinished and the animator cancelling/overlay removal so that there is always an attempt to do the removal in on vanish. There should be no risk with this change that the removal is done twice since even if the overlay is removed by an animator in onAnimationEnd, the removal in onTaskVanished first checks that an animator exists and that a content overlay exists, and one or both of those should cause it to no-op if someone else removed the content overlay earlier. Bug: 230561935 Test: enter MS teams call, swipe edge to go back, verify there's no fullscreen overlay lingering. Test: atest --iteration 5 \ ActivityThreadTest#testHandlePictureInPictureRequested_overriddenToEnter \ ScreenshotTests#testScreenshotSecureLayers \ TaskStackChangedListenerTest#testTaskChangeCallBacks Change-Id: If8639ce78148c5ba1b247bb8afeee76e20863dc5
Loading
Please register or sign in to comment