Allow seamless rotation before mTopIsFullscreen is set.

The difference between mTopFullscreenOpaqueWindowState != null
and mTopIsFullscreen relates to whether the status bar is animating.
However the flag won't be cleared until the next layout pass following
the animation. As long as the window isn't animating we are fine to
rotate seamlessly. This check was copied from selectRotationAnimationLw.
A little code archaeology implies it was perhaps historical and
introduced before the flag had this meaning.

Bug: 30171992
Change-Id: I326bf7766f8ebe307b833d1ca0c0cdfe80b1eb6c
This commit is contained in:
Robert Carr
2016-08-15 12:05:21 -07:00
parent 57d9fbd17f
commit 1ccd42510f

View File

@@ -7758,7 +7758,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
// it and is in the fullscreen opaque state. Seamless rotation
// requires freezing various Surface states and won't work well
// with animations, so we disable it in the animation case for now.
if (w != null && mTopIsFullscreen && !w.isAnimatingLw() &&
if (w != null && !w.isAnimatingLw() &&
((w.getAttrs().rotationAnimation == ROTATION_ANIMATION_JUMPCUT) ||
(w.getAttrs().rotationAnimation == ROTATION_ANIMATION_SEAMLESS))) {
return true;