Loading packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationController.java +24 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ class MenuAnimationController { private final Handler mHandler; private boolean mIsFadeEffectEnabled; private Runnable mSpringAnimationsEndAction; private PointF mAnimationEndPosition = new PointF(); // Cache the animations state of {@link DynamicAnimation.TRANSLATION_X} and {@link // DynamicAnimation.TRANSLATION_Y} to be well controlled by the touch handler Loading Loading @@ -104,10 +105,12 @@ class MenuAnimationController { @Override public void onRadiiAnimationStop() {} }); mAnimationEndPosition = mMenuView.getMenuPosition(); } void moveToPosition(PointF position) { moveToPosition(position, /* animateMovement = */ false); mAnimationEndPosition = position; } /* Moves position without updating underlying percentage position. Can be animated. */ Loading @@ -129,6 +132,7 @@ class MenuAnimationController { } else { DynamicAnimation.TRANSLATION_X.setValue(mMenuView, positionX); } mAnimationEndPosition.x = positionX; } void moveToPositionY(float positionY) { Loading @@ -144,6 +148,7 @@ class MenuAnimationController { } else { DynamicAnimation.TRANSLATION_Y.setValue(mMenuView, positionY); } mAnimationEndPosition.y = positionY; } void moveToPositionYIfNeeded(float positionY) { Loading Loading @@ -259,6 +264,9 @@ class MenuAnimationController { cancelAnimation(property); mPositionAnimations.put(property, flingAnimation); if (finalPosition != null) { setAnimationEndPosition(property, finalPosition); } flingAnimation.start(); } Loading Loading @@ -292,6 +300,7 @@ class MenuAnimationController { cancelAnimation(property); mPositionAnimations.put(property, springAnimation); setAnimationEndPosition(property, finalPosition); springAnimation.animateToFinalPosition(finalPosition); } Loading Loading @@ -385,6 +394,21 @@ class MenuAnimationController { mPositionAnimations.get(property).cancel(); } private void setAnimationEndPosition( DynamicAnimation.ViewProperty property, Float endPosition) { if (property.equals(DynamicAnimation.TRANSLATION_X)) { mAnimationEndPosition.x = endPosition; } if (property.equals(DynamicAnimation.TRANSLATION_Y)) { mAnimationEndPosition.y = endPosition; } } void skipAnimations() { cancelAnimations(); moveToPosition(mAnimationEndPosition, false); } @VisibleForTesting DynamicAnimation getAnimation(DynamicAnimation.ViewProperty property) { return mPositionAnimations.getOrDefault(property, null); Loading packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java +1 −0 Original line number Diff line number Diff line Loading @@ -334,6 +334,7 @@ class MenuViewLayer extends FrameLayout implements mDragToInteractView.updateResources(); mDismissView.updateResources(); mDragToInteractAnimationController.updateResources(); mMenuAnimationController.skipAnimations(); } @Override Loading Loading
packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationController.java +24 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ class MenuAnimationController { private final Handler mHandler; private boolean mIsFadeEffectEnabled; private Runnable mSpringAnimationsEndAction; private PointF mAnimationEndPosition = new PointF(); // Cache the animations state of {@link DynamicAnimation.TRANSLATION_X} and {@link // DynamicAnimation.TRANSLATION_Y} to be well controlled by the touch handler Loading Loading @@ -104,10 +105,12 @@ class MenuAnimationController { @Override public void onRadiiAnimationStop() {} }); mAnimationEndPosition = mMenuView.getMenuPosition(); } void moveToPosition(PointF position) { moveToPosition(position, /* animateMovement = */ false); mAnimationEndPosition = position; } /* Moves position without updating underlying percentage position. Can be animated. */ Loading @@ -129,6 +132,7 @@ class MenuAnimationController { } else { DynamicAnimation.TRANSLATION_X.setValue(mMenuView, positionX); } mAnimationEndPosition.x = positionX; } void moveToPositionY(float positionY) { Loading @@ -144,6 +148,7 @@ class MenuAnimationController { } else { DynamicAnimation.TRANSLATION_Y.setValue(mMenuView, positionY); } mAnimationEndPosition.y = positionY; } void moveToPositionYIfNeeded(float positionY) { Loading Loading @@ -259,6 +264,9 @@ class MenuAnimationController { cancelAnimation(property); mPositionAnimations.put(property, flingAnimation); if (finalPosition != null) { setAnimationEndPosition(property, finalPosition); } flingAnimation.start(); } Loading Loading @@ -292,6 +300,7 @@ class MenuAnimationController { cancelAnimation(property); mPositionAnimations.put(property, springAnimation); setAnimationEndPosition(property, finalPosition); springAnimation.animateToFinalPosition(finalPosition); } Loading Loading @@ -385,6 +394,21 @@ class MenuAnimationController { mPositionAnimations.get(property).cancel(); } private void setAnimationEndPosition( DynamicAnimation.ViewProperty property, Float endPosition) { if (property.equals(DynamicAnimation.TRANSLATION_X)) { mAnimationEndPosition.x = endPosition; } if (property.equals(DynamicAnimation.TRANSLATION_Y)) { mAnimationEndPosition.y = endPosition; } } void skipAnimations() { cancelAnimations(); moveToPosition(mAnimationEndPosition, false); } @VisibleForTesting DynamicAnimation getAnimation(DynamicAnimation.ViewProperty property) { return mPositionAnimations.getOrDefault(property, null); Loading
packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java +1 −0 Original line number Diff line number Diff line Loading @@ -334,6 +334,7 @@ class MenuViewLayer extends FrameLayout implements mDragToInteractView.updateResources(); mDismissView.updateResources(); mDragToInteractAnimationController.updateResources(); mMenuAnimationController.skipAnimations(); } @Override Loading