summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2013-04-11 11:32:45 -0700
committerMichael Jurka <mikejurka@google.com>2013-04-22 16:07:43 +0200
commitcd496d723ca6b4b100771ae66f09007e7acf0d17 (patch)
tree2089530fe538aa6aeca66b0381818f4e17b90ac9 /src
parent199d541c8d5a62551e7d78559824a52270e8cb13 (diff)
downloadandroid_packages_apps_Trebuchet-cd496d723ca6b4b100771ae66f09007e7acf0d17.tar.gz
android_packages_apps_Trebuchet-cd496d723ca6b4b100771ae66f09007e7acf0d17.tar.bz2
android_packages_apps_Trebuchet-cd496d723ca6b4b100771ae66f09007e7acf0d17.zip
Only postpone animations if app is visible
Fixes bug where folders would remain open after returning to launcher Bug: 8681168 Change-Id: I930616f2aa006c1e23298dbdb0a80a9390ea41af
Diffstat (limited to 'src')
-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 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();