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

Commit 92017f57 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Only run layout if we didn't have content"

parents 34210e81 f129289d
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -409,6 +409,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo

    private InputMonitor mInputMonitor;

    /** Caches the value whether told display manager that we have content. */
    private boolean mLastHasContent;

    /**
     * The input method window for this display.
     */
@@ -3092,8 +3095,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
        forAllWindows(mApplySurfaceChangesTransaction, true /* traverseTopToBottom */);
        prepareSurfaces();

        mLastHasContent = mTmpApplySurfaceChangesTransactionState.displayHasContent;
        mService.mDisplayManagerInternal.setDisplayProperties(mDisplayId,
                mTmpApplySurfaceChangesTransactionState.displayHasContent,
                mLastHasContent,
                mTmpApplySurfaceChangesTransactionState.preferredRefreshRate,
                mTmpApplySurfaceChangesTransactionState.preferredModeId,
                true /* inTraversal, must call performTraversalInTrans... below */);
@@ -4267,4 +4271,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
    InputMonitor getInputMonitor() {
        return mInputMonitor;
    }

    /**
     * @return Cached value whether we told display manager that we have content.
     */
    boolean getLastHasContent() {
        return mLastHasContent;
    }
}
+11 −9
Original line number Diff line number Diff line
@@ -1176,6 +1176,7 @@ class WindowStateAnimator {
                        if (mIsWallpaper) {
                            w.dispatchWallpaperVisibility(true);
                        }
                        if (!w.getDisplayContent().getLastHasContent()) {
                            // This draw means the difference between unique content and mirroring.
                            // Run another pass through performLayout to set mHasContent in the
                            // LogicalDisplay.
@@ -1186,6 +1187,7 @@ class WindowStateAnimator {
                                        "showSurfaceRobustlyLocked " + w,
                                        mAnimator.getPendingLayoutChanges(w.getDisplayId()));
                            }
                        }
                    } else {
                        w.setOrientationChanging(false);
                    }