Merge "Only fade window token on exact rotation change" into sc-dev am: ea3bffe575

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14580815

Change-Id: Iddd31a27fc089d97dbea7a44e19b5e26aee72b3a
This commit is contained in:
Riddle Hsu
2021-05-18 15:28:31 +00:00
committed by Automerger Merge Worker
2 changed files with 3 additions and 0 deletions

View File

@@ -2998,6 +2998,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
// Hide the windows which are not significant in rotation animation. So that the windows
// don't need to block the unfreeze time.
if (screenRotationAnimation != null && screenRotationAnimation.hasScreenshot()
// Do not fade for freezing without rotation change.
&& mDisplayRotation.getRotation() != getWindowConfiguration().getRotation()
&& mFadeRotationAnimationController == null) {
startFadeRotationAnimation(false /* shouldDebounce */);
}

View File

@@ -1275,6 +1275,7 @@ public class DisplayContentTests extends WindowTestsBase {
// Assume that the display rotation is changed so it is frozen in preparation for animation.
doReturn(true).when(rotationAnim).hasScreenshot();
mWm.mDisplayFrozen = true;
displayContent.getDisplayRotation().setRotation((displayContent.getRotation() + 1) % 4);
displayContent.setRotationAnimation(rotationAnim);
// The fade rotation animation also starts to hide some non-app windows.
assertNotNull(displayContent.getFadeRotationAnimationController());