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

Commit 77cdac05 authored by Justin Koh's avatar Justin Koh Committed by Android (Google) Code Review
Browse files

Merge "Wait for all windows to draw before turning screen on" into klp-modular-dev

parents 39f0e7da 0a589b92
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -10930,16 +10930,21 @@ public class WindowManagerService extends IWindowManager.Stub
        public void waitForAllWindowsDrawn(IRemoteCallback callback, long timeout) {
            synchronized (mWindowMap) {
                mWaitingForDrawnCallback = callback;
                final WindowList windows = getDefaultWindowListLocked();
                for (int displayNdx = mDisplayContents.size() - 1; displayNdx >= 0; --displayNdx) {
                    final WindowList windows =
                            mDisplayContents.valueAt(displayNdx).getWindowList();
                    for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) {
                        final WindowState win = windows.get(winNdx);
                        if (win.mHasSurface) {
                            win.mWinAnimator.mDrawState = WindowStateAnimator.DRAW_PENDING;
                            // Force add to mResizingWindows.
                            win.mLastContentInsets.set(-1, -1, -1, -1);
                            if (DEBUG_SCREEN_ON) Slog.d(TAG, "waitForAllWindowsDrawn: adding " +
                                    win);
                            mWaitingForDrawn.add(win);
                        }
                    }
                }
                requestTraversalLocked();
                mH.removeMessages(H.WAITING_FOR_DRAWN_TIMEOUT);
                mH.sendEmptyMessageDelayed(H.WAITING_FOR_DRAWN_TIMEOUT, timeout);