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

Commit 84aff646 authored by David Nelloms's avatar David Nelloms Committed by android-build-merger
Browse files

Merge "Clear transitions for app windows display change." into qt-dev

am: db5af641

Change-Id: I94c995af3ee3912a7d36732e65be60afda985e6e
parents 1376a5eb db5af641
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -1322,7 +1322,9 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
        if (prevDc == null || prevDc == mDisplayContent) {
            return;
        }
        if (prevDc.mChangingApps.contains(this)) {

        prevDc.mOpeningApps.remove(this);
        if (prevDc.mChangingApps.remove(this)) {
            // This gets called *after* the AppWindowToken has been reparented to the new display.
            // That reparenting resulted in this window changing modes (eg. FREEFORM -> FULLSCREEN),
            // so this token is now "frozen" while waiting for the animation to start on prevDc
@@ -1331,6 +1333,8 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
            // so we need to cancel the change transition here.
            clearChangeLeash(getPendingTransaction(), true /* cancel */);
        }
        prevDc.mClosingApps.remove(this);

        if (prevDc.mFocusedApp == this) {
            prevDc.setFocusedApp(null);
            final TaskStack stack = dc.getTopStack();
@@ -3216,16 +3220,6 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
                true /* topToBottom */);
    }

    void removeFromPendingTransition() {
        if (isWaitingForTransitionStart() && mDisplayContent != null) {
            mDisplayContent.mOpeningApps.remove(this);
            if (mDisplayContent.mChangingApps.remove(this)) {
                clearChangeLeash(getPendingTransaction(), true /* cancel */);
            }
            mDisplayContent.mClosingApps.remove(this);
        }
    }

    private void updateColorTransform() {
        if (mSurfaceControl != null && mLastAppSaturationInfo != null) {
            getPendingTransaction().setColorTransform(mSurfaceControl,
+0 −3
Original line number Diff line number Diff line
@@ -2377,9 +2377,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
                    + " to its current displayId=" + mDisplayId);
        }

        // Clean up all pending transitions when stack reparent to another display.
        stack.forAllAppWindows(AppWindowToken::removeFromPendingTransition);

        prevDc.mTaskStackContainers.removeChild(stack);
        mTaskStackContainers.addStackToDisplay(stack, onTop);
    }