summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Cheng Shi <shicheng@xiaomi.corp-partner.google.com> 2022-06-09 09:09:56 +0000
committer Chris Li <lihongyu@google.com> 2022-06-15 01:01:28 +0000
commit3ff201a71394945fa000742a6419b830ecf8ea8a (patch)
tree852e21763144d308b7745e0aa048fccb5a6a2f7e
parent51e6e8a0e18105533a980ead8f639f3aa8879af1 (diff)
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 Change-Id: I60b2da453da0ac5c4df6e5a1040defe4bfe726ec Merged-In: I60b2da453da0ac5c4df6e5a1040defe4bfe726ec
-rw-r--r--core/java/android/view/ViewRootImpl.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index a2ff69e15915..d779b4965d4e 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1035,7 +1035,6 @@ public final class ViewRootImpl implements ViewParent,
if (mView == null) {
mView = view;
- mAttachInfo.mDisplayState = mDisplay.getState();
mViewLayoutDirectionInitial = mView.getRawLayoutDirection();
mFallbackEventHandler.setView(view);
mWindowAttributes.copyFrom(attrs);
@@ -1229,6 +1228,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;
}