diff options
-rw-r--r-- | src/com/android/launcher2/FirstFrameAnimatorHelper.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/com/android/launcher2/FirstFrameAnimatorHelper.java b/src/com/android/launcher2/FirstFrameAnimatorHelper.java index 8eac7cd2c..7180413ec 100644 --- a/src/com/android/launcher2/FirstFrameAnimatorHelper.java +++ b/src/com/android/launcher2/FirstFrameAnimatorHelper.java @@ -43,6 +43,7 @@ public class FirstFrameAnimatorHelper extends AnimatorListenerAdapter private static ViewTreeObserver.OnDrawListener sGlobalDrawListener; private static long sGlobalFrameCounter; + private static boolean sVisible; public FirstFrameAnimatorHelper(ValueAnimator animator, View target) { mTarget = target; @@ -61,6 +62,10 @@ public class FirstFrameAnimatorHelper extends AnimatorListenerAdapter onAnimationUpdate(va); } + public static void setIsVisible(boolean visible) { + sVisible = visible; + } + public static void initializeDrawListener(View view) { if (sGlobalDrawListener != null) { view.getViewTreeObserver().removeOnDrawListener(sGlobalDrawListener); @@ -77,6 +82,7 @@ public class FirstFrameAnimatorHelper extends AnimatorListenerAdapter } }; view.getViewTreeObserver().addOnDrawListener(sGlobalDrawListener); + sVisible = true; } public void onAnimationUpdate(final ValueAnimator animation) { @@ -87,6 +93,7 @@ public class FirstFrameAnimatorHelper extends AnimatorListenerAdapter } if (!mHandlingOnAnimationUpdate && + sVisible && // If the current play time exceeds the duration, the animation // will get finished, even if we call setCurrentPlayTime -- therefore // don't adjust the animation in that case diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index b20e3a573..fc42f3f79 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -718,6 +718,18 @@ public final class Launcher extends Activity } @Override + protected void onStop() { + super.onStop(); + FirstFrameAnimatorHelper.setIsVisible(false); + } + + @Override + protected void onStart() { + super.onStart(); + FirstFrameAnimatorHelper.setIsVisible(true); + } + + @Override protected void onResume() { super.onResume(); |