From 98720c96ee8c1eab026903dd83507a3cc50de900 Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Thu, 28 Mar 2013 13:39:35 -0700 Subject: [PATCH] Fix crash caused by unregistering animation listener --- src/com/android/launcher2/FirstFrameAnimatorHelper.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher2/FirstFrameAnimatorHelper.java b/src/com/android/launcher2/FirstFrameAnimatorHelper.java index f42a741c61..2351dd074d 100644 --- a/src/com/android/launcher2/FirstFrameAnimatorHelper.java +++ b/src/com/android/launcher2/FirstFrameAnimatorHelper.java @@ -60,7 +60,7 @@ public class FirstFrameAnimatorHelper implements ValueAnimator.AnimatorUpdateLis view.getViewTreeObserver().addOnDrawListener(sGlobalDrawListener); } - public void onAnimationUpdate(ValueAnimator animation) { + public void onAnimationUpdate(final ValueAnimator animation) { if (mStartTime == -1) { mStartFrame = sGlobalFrameCounter; mStartTime = System.currentTimeMillis(); @@ -86,7 +86,11 @@ public class FirstFrameAnimatorHelper implements ValueAnimator.AnimatorUpdateLis mAdjustedSecondFrameTime = true; } else { if (frameNum > 1) { - animation.removeUpdateListener(this); + mTarget.post(new Runnable() { + public void run() { + animation.removeUpdateListener(FirstFrameAnimatorHelper.this); + } + }); } if (DEBUG) print(animation); }