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

Commit d86fd3e7 authored by Robert Carr's avatar Robert Carr
Browse files

Destroy app-less surfaces when becoming invisible with no animation.

Otherwise there is no later point to destroy them and they linger
around indefinitely. tryStartExitingAnimation seems like a safe point
as we only call this from relayout and the client renderer is paused
at this point, as long as we ensure we don't return a surface (which we won't
since we have laid out to invisible) we should be assured that the client
will not try again to render.

Bug: 77911541
Test: Manual. Docked divider window is destroyed when dismissed.
Change-Id: I2ed37f460a7f258083ab1c196c4e5f7a35e3d557
parent a194a6be
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2204,7 +2204,7 @@ public class WindowManagerService extends IWindowManager.Stub
            if (mInputMethodWindow == win) {
                setInputMethodWindowLocked(null);
            }
            boolean stopped = win.mAppToken != null ? win.mAppToken.mAppStopped : false;
            boolean stopped = win.mAppToken != null ? win.mAppToken.mAppStopped : true;
            // We set mDestroying=true so AppWindowToken#notifyAppStopped in-to destroy surfaces
            // will later actually destroy the surface if we do not do so here. Normally we leave
            // this to the exit animation.