diff --git a/services/core/java/com/android/server/wm/DisplayRotationCompatPolicy.java b/services/core/java/com/android/server/wm/DisplayRotationCompatPolicy.java index ae93a9496f7c1..afa97901ffbf2 100644 --- a/services/core/java/com/android/server/wm/DisplayRotationCompatPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayRotationCompatPolicy.java @@ -245,7 +245,7 @@ final class DisplayRotationCompatPolicy { } /** - * Notifies that animation in {@link ScreenAnimationRotation} has finished. + * Notifies that animation in {@link ScreenRotationAnimation} has finished. * *
This class uses this signal as a trigger for notifying the user about forced rotation * reason with the {@link Toast}. diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index bfd0d96a04abf..1d45fcd412d6b 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -1194,6 +1194,13 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { if (asyncRotationController != null && containsChangeFor(dc, mTargets)) { asyncRotationController.onTransitionFinished(); } + if (hasParticipatedDisplay && dc.mDisplayRotationCompatPolicy != null) { + final ChangeInfo changeInfo = mChanges.get(dc); + if (changeInfo != null + && changeInfo.mRotation != dc.getWindowConfiguration().getRotation()) { + dc.mDisplayRotationCompatPolicy.onScreenRotationAnimationFinished(); + } + } if (mTransientLaunches != null) { InsetsControlTarget prevImeTarget = dc.getImeTarget( DisplayContent.IME_TARGET_CONTROL);