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

Commit c6c0d0da authored by Cheng Shi's avatar Cheng Shi Committed by Chris Li
Browse files

Fix the problem that the turn_screen_on Activity does not draw.

A phone call came when the screen was off, displayState may change from
Display.STATE_OFF to STATE_ON before registerDisplayListener, which
causes ViewRootImpl.mAttachInfo.mDisplayState of InCallActivity to
remain Display.STATE_OFF, which causes performDraw to return directly.
So we should update ViewRootImpl.mAttachInfo.mDisplayState after
registerDisplayListener.

Bug: 235446909
Test: pass existing
Change-Id: I60b2da453da0ac5c4df6e5a1040defe4bfe726ec
parent 3b8517d6
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1100,7 +1100,6 @@ public final class ViewRootImpl implements ViewParent,
            if (mView == null) {
                mView = view;

                mAttachInfo.mDisplayState = mDisplay.getState();
                mDisplayInstallOrientation = mDisplay.getInstallOrientation();
                mViewLayoutDirectionInitial = mView.getRawLayoutDirection();
                mFallbackEventHandler.setView(view);
@@ -1312,6 +1311,9 @@ public final class ViewRootImpl implements ViewParent,
                }

                registerListeners();
                // We should update mAttachInfo.mDisplayState after registerDisplayListener
                // because displayState might be changed before registerDisplayListener.
                mAttachInfo.mDisplayState = mDisplay.getState();
                if ((res & WindowManagerGlobal.ADD_FLAG_USE_BLAST) != 0) {
                    mUseBLASTAdapter = true;
                }