diff options
author | Michael Jurka <mikejurka@google.com> | 2013-04-11 11:32:45 -0700 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2013-08-12 16:55:06 +0200 |
commit | aea1117ffda7fb09020c9da4b9e012b7d2ae3c71 (patch) | |
tree | fa0ae3cfb3646767ad2882557a7fff41d4a12848 /src | |
parent | 9f882cf8fc28055e1fcf7703d68ab1613326395c (diff) | |
download | android_packages_apps_Trebuchet-aea1117ffda7fb09020c9da4b9e012b7d2ae3c71.tar.gz android_packages_apps_Trebuchet-aea1117ffda7fb09020c9da4b9e012b7d2ae3c71.tar.bz2 android_packages_apps_Trebuchet-aea1117ffda7fb09020c9da4b9e012b7d2ae3c71.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/cyanogenmod/trebuchet/FirstFrameAnimatorHelper.java | 7 | ||||
-rw-r--r-- | src/com/cyanogenmod/trebuchet/Launcher.java | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/com/cyanogenmod/trebuchet/FirstFrameAnimatorHelper.java b/src/com/cyanogenmod/trebuchet/FirstFrameAnimatorHelper.java index 1b1c355db..53d6ec59c 100644 --- a/src/com/cyanogenmod/trebuchet/FirstFrameAnimatorHelper.java +++ b/src/com/cyanogenmod/trebuchet/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/cyanogenmod/trebuchet/Launcher.java b/src/com/cyanogenmod/trebuchet/Launcher.java index c27c0ed69..1df214e08 100644 --- a/src/com/cyanogenmod/trebuchet/Launcher.java +++ b/src/com/cyanogenmod/trebuchet/Launcher.java @@ -766,6 +766,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(); |