summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/launcher2/FirstFrameAnimatorHelper.java7
-rw-r--r--src/com/android/launcher2/Launcher.java12
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();