Disable seamless rotation while animating.
Neither the animation code or the seamless rotation
code is equipped to handle it.
Bug: 28838855
Change-Id: Id3739bbc4335936cf3647af4ff97dd4efc134b65
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 0e73227..b1b90d1 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -7685,7 +7685,12 @@
return false;
}
+ // We only enable seamless rotation if the top window has requested
+ // 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 (mTopFullscreenOpaqueWindowState != null && mTopIsFullscreen &&
+ !mTopFullscreenOpaqueWindowState.isAnimatingLw() &&
mTopFullscreenOpaqueWindowState.getAttrs().rotationAnimation ==
ROTATION_ANIMATION_JUMPCUT) {
return true;