summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/LauncherAnimUtils.java
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2012-06-18 12:52:28 -0700
committerMichael Jurka <mikejurka@google.com>2012-06-19 11:44:57 -0700
commit2ecf995e0d2d55eb71d03f7230ca87270872d1a3 (patch)
treed6a76bdbeefb0ea506d5d704ee4de0cbab3a507c /src/com/android/launcher2/LauncherAnimUtils.java
parent629758ff081a354e43aa409159211210ee4ee85a (diff)
downloadandroid_packages_apps_Trebuchet-2ecf995e0d2d55eb71d03f7230ca87270872d1a3.tar.gz
android_packages_apps_Trebuchet-2ecf995e0d2d55eb71d03f7230ca87270872d1a3.tar.bz2
android_packages_apps_Trebuchet-2ecf995e0d2d55eb71d03f7230ca87270872d1a3.zip
Remove use of private ValueAnimator api
Change-Id: I455edcd17bda83ab51c2c04fa40e66097a4d6975
Diffstat (limited to 'src/com/android/launcher2/LauncherAnimUtils.java')
-rw-r--r--src/com/android/launcher2/LauncherAnimUtils.java87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/com/android/launcher2/LauncherAnimUtils.java b/src/com/android/launcher2/LauncherAnimUtils.java
new file mode 100644
index 000000000..182adf55f
--- /dev/null
+++ b/src/com/android/launcher2/LauncherAnimUtils.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher2;
+
+import android.animation.Animator;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.PropertyValuesHolder;
+import android.animation.ValueAnimator;
+
+import java.util.HashSet;
+
+public class LauncherAnimUtils {
+ static HashSet<Animator> sAnimators = new HashSet<Animator>();
+ Animator.AnimatorListener sEndAnimListener = new Animator.AnimatorListener() {
+ public void onAnimationStart(Animator animation) {
+ }
+
+ public void onAnimationRepeat(Animator animation) {
+ }
+
+ public void onAnimationEnd(Animator animation) {
+ sAnimators.remove(animation);
+ }
+
+ public void onAnimationCancel(Animator animation) {
+ sAnimators.remove(animation);
+ }
+ };
+
+ public static void cancelOnDestroyActivity(Animator a) {
+ sAnimators.add(a);
+ }
+
+ public static void onDestroyActivity() {
+ for (Animator a : sAnimators) {
+ if (a.isRunning()) {
+ a.cancel();
+ }
+ }
+ }
+
+ public static AnimatorSet createAnimatorSet() {
+ AnimatorSet anim = new AnimatorSet();
+ cancelOnDestroyActivity(anim);
+ return anim;
+ }
+
+ public static ValueAnimator ofFloat(float... values) {
+ ValueAnimator anim = new ValueAnimator();
+ anim.setFloatValues(values);
+ cancelOnDestroyActivity(anim);
+ return anim;
+ }
+
+ public static ObjectAnimator ofFloat(Object target, String propertyName, float... values) {
+ ObjectAnimator anim = new ObjectAnimator();
+ anim.setTarget(target);
+ anim.setPropertyName(propertyName);
+ anim.setFloatValues(values);
+ cancelOnDestroyActivity(anim);
+ return anim;
+ }
+
+ public static ObjectAnimator ofPropertyValuesHolder(Object target,
+ PropertyValuesHolder... values) {
+ ObjectAnimator anim = new ObjectAnimator();
+ anim.setTarget(target);
+ anim.setValues(values);
+ cancelOnDestroyActivity(anim);
+ return anim;
+ }
+}