diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuView.java b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuView.java index d2703f5e73a2d..aff0b1fe287c0 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuView.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuView.java @@ -353,6 +353,7 @@ public class AccessibilityFloatingMenuView extends FrameLayout } mIsShowing = false; + mDragAnimator.cancel(); mWindowManager.removeView(this); setOnApplyWindowInsetsListener(null); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuViewTest.java index 7e9f84c1ef8c5..bebd8712a7505 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuViewTest.java @@ -190,6 +190,16 @@ public class AccessibilityFloatingMenuViewTest extends SysuiTestCase { verify(mWindowManager, times(1)).removeView(eq(mMenuView)); } + @Test + public void hideMenuViewWhenStartingAnimation_animatorNotRunning() { + mMenuView.show(); + + mMenuView.mDragAnimator.start(); + mMenuView.hide(); + + assertThat(mMenuView.mDragAnimator.isRunning()).isFalse(); + } + @Test public void onTargetsChanged_singleTarget_expectedRadii() { final Position alignRightPosition = new Position(1.0f, 0.0f);