Do not wait for configuration when it won't change.
When updating orientation the configuration won't change if we are rotating 180 degrees. It seems previously there were redundant calls to setNewConfiguration et. al. clearing this flag. Those aren't happening anymore, so it doesn't get cleared, leaving the screen frozen. Test: Manual repro of bug steps. Bug: 33956442 Change-Id: I01c612a6d7f920ad7abf64aa97558bebde6bb49c
This commit is contained in:
@@ -4831,6 +4831,10 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
+ (altOrientation ? " (alt)" : "") + " from " + mRotation
|
||||
+ (mAltOrientation ? " (alt)" : "") + ", lastOrientation=" + mLastOrientation);
|
||||
|
||||
if (DisplayContent.deltaRotation(rotation, mRotation) != 2) {
|
||||
mWaitingForConfig = true;
|
||||
}
|
||||
|
||||
mRotation = rotation;
|
||||
mAltOrientation = altOrientation;
|
||||
mPolicy.setRotationLw(mRotation);
|
||||
@@ -4838,7 +4842,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
mWindowsFreezingScreen = WINDOWS_FREEZING_SCREENS_ACTIVE;
|
||||
mH.removeMessages(H.WINDOW_FREEZE_TIMEOUT);
|
||||
mH.sendEmptyMessageDelayed(H.WINDOW_FREEZE_TIMEOUT, WINDOW_FREEZE_TIMEOUT_DURATION);
|
||||
mWaitingForConfig = true;
|
||||
|
||||
dc.setLayoutNeeded();
|
||||
final int[] anim = new int[2];
|
||||
if (dc.isDimming()) {
|
||||
|
||||
Reference in New Issue
Block a user