Fixed bug with continuously changing orientation while dreaming

If the keyguard is locked while the device is dreaming in landscape
mode, the display will be frozen. When this happens we want to continue
to use the orientation the keyguard forced since that will be the
orientation used once the display is no longer frozen vs. switching to
the orientation of the top activity.

Bug: 29542506
Change-Id: I30a8370357735dcdff336a562ca248aa9206ae29
This commit is contained in:
Wale Ogunwale
2016-06-27 08:46:09 -07:00
parent 90b2c781ff
commit 049b6d8927

View File

@@ -3519,6 +3519,13 @@ public class WindowManagerService extends IWindowManager.Stub
// can re-appear and inflict its own orientation on us. Keep the
// orientation stable until this all settles down.
return mLastWindowForcedOrientation;
} else if (mPolicy.isKeyguardLocked()
&& mLastKeyguardForcedOrientation != SCREEN_ORIENTATION_UNSPECIFIED) {
// Use the last orientation the keyguard forced while the display is frozen with the
// keyguard locked.
if (DEBUG_ORIENTATION) Slog.v(TAG_WM, "Display is frozen while keyguard locked, "
+ "return " + mLastKeyguardForcedOrientation);
return mLastKeyguardForcedOrientation;
}
} else {
// TODO(multidisplay): Change to the correct display.