Fix inconsistent info in display frames

DisplayRotation#mRotation may be set to target rotation earlier than
update display info (especially wait for remote rotation). So it is
more stable to keep the basic information of display frames are set
from the same source. Otherwise DisplayPolicy#getRotatedWindowBounds
may misjudge that the window bounds need to rotate.

Bug: 163795211
Test: atest DisplayContentTests ScreenDecorWindowTests
Change-Id: Iccac43c313161502c1ce41899d39ab774a23adbc
This commit is contained in:
Riddle Hsu
2020-08-12 23:13:23 +08:00
parent 393fe8b1c2
commit c865ae4320

View File

@@ -4009,9 +4009,6 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
mDisplayFrames.onDisplayInfoUpdated(mDisplayInfo,
calculateDisplayCutoutForRotation(mDisplayInfo.rotation));
// TODO: Not sure if we really need to set the rotation here since we are updating from
// the display info above...
mDisplayFrames.mRotation = getRotation();
mDisplayPolicy.beginLayoutLw(mDisplayFrames, getConfiguration().uiMode);
int seq = mLayoutSeq + 1;