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 3e6a2c7e2..38154860c 100644 --- a/src/com/android/launcher2/FirstFrameAnimatorHelper.java +++ b/src/com/android/launcher2/FirstFrameAnimatorHelper.java @@ -42,6 +42,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; @@ -60,6 +61,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); @@ -76,6 +81,7 @@ public class FirstFrameAnimatorHelper extends AnimatorListenerAdapter } }; view.getViewTreeObserver().addOnDrawListener(sGlobalDrawListener); + sVisible = true; } public void onAnimationUpdate(final ValueAnimator animation) { @@ -86,6 +92,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(); |