diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java b/packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java index 6a6e81e9cb46..14810d9baf02 100644 --- a/packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java +++ b/packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java @@ -30,7 +30,6 @@ import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.view.ViewGroup; -import android.view.animation.Animation; import android.widget.ImageView; import android.widget.LinearLayout; @@ -50,7 +49,7 @@ public class PinShapeNonHintingView extends LinearLayout implements PinShapeInpu android.R.attr.textColorPrimary).getDefaultColor(); private int mPosition = 0; private final PinShapeAdapter mPinShapeAdapter; - private Animation mCurrentPlayingAnimation; + private ValueAnimator mValueAnimator = ValueAnimator.ofFloat(1f, 0f); public PinShapeNonHintingView(Context context, AttributeSet attrs) { super(context, attrs); mPinShapeAdapter = new PinShapeAdapter(context); @@ -80,15 +79,17 @@ public class PinShapeNonHintingView extends LinearLayout implements PinShapeInpu Log.e(getClass().getName(), "Trying to delete a non-existent char"); return; } + if (mValueAnimator.isRunning()) { + mValueAnimator.end(); + } mPosition--; ImageView pinDot = (ImageView) getChildAt(mPosition); - ValueAnimator animator = ValueAnimator.ofFloat(1f, 0f); - animator.addUpdateListener(valueAnimator -> { + mValueAnimator.addUpdateListener(valueAnimator -> { float value = (float) valueAnimator.getAnimatedValue(); pinDot.setScaleX(value); pinDot.setScaleY(value); }); - animator.addListener(new AnimatorListenerAdapter() { + mValueAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); @@ -96,11 +97,10 @@ public class PinShapeNonHintingView extends LinearLayout implements PinShapeInpu PinShapeNonHintingView.this, new PinShapeViewTransition()); removeView(pinDot); - mCurrentPlayingAnimation = null; } }); - animator.setDuration(PasswordTextView.DISAPPEAR_DURATION); - animator.start(); + mValueAnimator.setDuration(PasswordTextView.DISAPPEAR_DURATION); + mValueAnimator.start(); } @Override |