diff --git a/packages/SettingsLib/src/com/android/settingslib/animation/AppearAnimationUtils.java b/packages/SettingsLib/src/com/android/settingslib/animation/AppearAnimationUtils.java index b066d85f147c2..da74162082c7c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/animation/AppearAnimationUtils.java +++ b/packages/SettingsLib/src/com/android/settingslib/animation/AppearAnimationUtils.java @@ -216,22 +216,16 @@ public class AppearAnimationUtils implements AppearAnimationCreator { }); } alphaAnim.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationCancel(Animator animation) { - // If Animation is canceled, we want to ensure UI is reset. - view.setAlpha(targetAlpha); - view.setTranslationY(targetTranslationY); - } - @Override public void onAnimationEnd(Animator animation) { + view.setAlpha(targetAlpha); if (endRunnable != null) { endRunnable.run(); } } }); alphaAnim.start(); - startTranslationYAnimation(view, delay, duration, appearing ? 0 : translationY, + startTranslationYAnimation(view, delay, duration, targetTranslationY, interpolator, animatorListener); } } @@ -265,6 +259,12 @@ public class AppearAnimationUtils implements AppearAnimationCreator { if (listener != null) { translationAnim.addListener(listener); } + translationAnim.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + view.setTranslationY(endTranslationY); + } + }); translationAnim.start(); }