summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/LogDecelerateInterpolator.java
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2014-07-21 17:25:58 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-07-19 22:40:06 +0000
commit82cc3fe6c77322d93ff74b25354e4bca77ab4a83 (patch)
tree4fd03eb914c8c5d5c872b09b170382e9765a8a01 /src/com/android/launcher3/LogDecelerateInterpolator.java
parentebf50c93b0d1a4f12329c92a3873a8409c566c7e (diff)
parent6c5891a9fce95eee3d87823d11d21889743e9c68 (diff)
downloadandroid_packages_apps_Trebuchet-82cc3fe6c77322d93ff74b25354e4bca77ab4a83.tar.gz
android_packages_apps_Trebuchet-82cc3fe6c77322d93ff74b25354e4bca77ab4a83.tar.bz2
android_packages_apps_Trebuchet-82cc3fe6c77322d93ff74b25354e4bca77ab4a83.zip
Merge "Preliminary work on Material Transitions" into ub-now-master
Diffstat (limited to 'src/com/android/launcher3/LogDecelerateInterpolator.java')
-rw-r--r--src/com/android/launcher3/LogDecelerateInterpolator.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/com/android/launcher3/LogDecelerateInterpolator.java b/src/com/android/launcher3/LogDecelerateInterpolator.java
new file mode 100644
index 000000000..4c5f6f08c
--- /dev/null
+++ b/src/com/android/launcher3/LogDecelerateInterpolator.java
@@ -0,0 +1,26 @@
+package com.android.launcher3;
+
+import android.animation.TimeInterpolator;
+
+public class LogDecelerateInterpolator implements TimeInterpolator {
+
+ int mBase;
+ int mDrift;
+ final float mLogScale;
+
+ public LogDecelerateInterpolator(int base, int drift) {
+ mBase = base;
+ mDrift = drift;
+
+ mLogScale = 1f / computeLog(1, mBase, mDrift);
+ }
+
+ static float computeLog(float t, int base, int drift) {
+ return (float) -Math.pow(base, -t) + 1 + (drift * t);
+ }
+
+ @Override
+ public float getInterpolation(float t) {
+ return computeLog(t, mBase, mDrift) * mLogScale;
+ }
+}