From 48288a505dbcfc31a9a01f75dba24d5f62d428a4 Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Wed, 12 Aug 2020 13:00:02 +0800 Subject: Correct the return value of applyAnimationLocked. The starting window cannot be removed because it is waiting for the exiting animation finished, This may happen if the animation is not applied when #selectAnimation cannot find an appropriate animation. To make the state correct, the return result of #applyAnimationLocked should not only reference to the hierarchial animation state. Bug: 161847146 Test: atest WmTests Change-Id: I69bcd29f2587a3644485a0db05e622f6775cc82f Merged-In: I69bcd29f2587a3644485a0db05e622f6775cc82f --- services/core/java/com/android/server/wm/WindowStateAnimator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index da45300ed318..80c84ad66423 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -38,6 +38,7 @@ import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ORIENTATION; import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_STARTING_WINDOW; import static com.android.server.wm.ProtoLogGroup.WM_SHOW_SURFACE_ALLOC; import static com.android.server.wm.ProtoLogGroup.WM_SHOW_TRANSACTIONS; +import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMATION; import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS; import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG; @@ -1478,7 +1479,7 @@ class WindowStateAnimator { mWin.getDisplayContent().adjustForImeIfNeeded(); } - return mWin.isAnimating(PARENTS); + return mWin.isAnimating(0 /* flags */, ANIMATION_TYPE_WINDOW_ANIMATION); } void dumpDebug(ProtoOutputStream proto, long fieldId) { -- cgit v1.2.3-59-g8ed1b