diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-10-26 15:36:10 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-10-26 16:38:55 -0700 |
commit | 5bc6b6f14c676e7528be62e1355a4dec3d783524 (patch) | |
tree | 4923c690c29907b54f8f27a444fe0c61bb78408a /src/com/android/launcher3/widget | |
parent | d4ece005e43a39af08a17acc9ad801729a5dc9d4 (diff) | |
download | android_packages_apps_Trebuchet-5bc6b6f14c676e7528be62e1355a4dec3d783524.tar.gz android_packages_apps_Trebuchet-5bc6b6f14c676e7528be62e1355a4dec3d783524.tar.bz2 android_packages_apps_Trebuchet-5bc6b6f14c676e7528be62e1355a4dec3d783524.zip |
Consolidating various interpolators
Change-Id: I9588eee3552001b162a1e8d5ccefcfb44d221880
Diffstat (limited to 'src/com/android/launcher3/widget')
-rw-r--r-- | src/com/android/launcher3/widget/BaseWidgetSheet.java | 15 | ||||
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsBottomSheet.java | 8 |
2 files changed, 10 insertions, 13 deletions
diff --git a/src/com/android/launcher3/widget/BaseWidgetSheet.java b/src/com/android/launcher3/widget/BaseWidgetSheet.java index 61a733338..e32875926 100644 --- a/src/com/android/launcher3/widget/BaseWidgetSheet.java +++ b/src/com/android/launcher3/widget/BaseWidgetSheet.java @@ -15,6 +15,7 @@ */ package com.android.launcher3.widget; +import static com.android.launcher3.anim.Interpolators.scrollInterpolatorForVelocity; import static com.android.launcher3.logging.LoggerUtils.newContainerTarget; import android.animation.Animator; @@ -29,8 +30,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; -import android.view.animation.AccelerateInterpolator; -import android.view.animation.DecelerateInterpolator; +import android.view.animation.Interpolator; import android.widget.Toast; import com.android.launcher3.AbstractFloatingView; @@ -41,6 +41,7 @@ import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAnimUtils; import com.android.launcher3.R; import com.android.launcher3.Utilities; +import com.android.launcher3.anim.Interpolators; import com.android.launcher3.dragndrop.DragOptions; import com.android.launcher3.graphics.GradientView; import com.android.launcher3.touch.SwipeDetector; @@ -76,12 +77,12 @@ abstract class BaseWidgetSheet extends AbstractFloatingView private Toast mWidgetInstructionToast; protected final Launcher mLauncher; - protected final SwipeDetector.ScrollInterpolator mScrollInterpolator; protected final SwipeDetector mSwipeDetector; protected final ObjectAnimator mOpenCloseAnimator; protected View mContent; protected GradientView mGradientView; + protected Interpolator mScrollInterpolator; // range [0, 1], 0=> completely open, 1=> completely closed protected float mTranslationShift = TRANSLATION_SHIFT_CLOSED; @@ -92,7 +93,7 @@ abstract class BaseWidgetSheet extends AbstractFloatingView super(context, attrs, defStyleAttr); mLauncher = Launcher.getLauncher(context); - mScrollInterpolator = new SwipeDetector.ScrollInterpolator(); + mScrollInterpolator = Interpolators.SCROLL_CUBIC; mSwipeDetector = new SwipeDetector(context, this, SwipeDetector.VERTICAL); mOpenCloseAnimator = LauncherAnimUtils.ofPropertyValuesHolder(this); @@ -206,7 +207,7 @@ abstract class BaseWidgetSheet extends AbstractFloatingView @Override public void onDragEnd(float velocity, boolean fling) { if ((fling && velocity > 0) || mTranslationShift > 0.5f) { - mScrollInterpolator.setVelocityAtZero(velocity); + mScrollInterpolator = scrollInterpolatorForVelocity(velocity); mOpenCloseAnimator.setDuration(SwipeDetector.calculateDuration( velocity, TRANSLATION_SHIFT_CLOSED - mTranslationShift)); close(true); @@ -215,7 +216,7 @@ abstract class BaseWidgetSheet extends AbstractFloatingView TRANSLATION_SHIFT, TRANSLATION_SHIFT_OPENED)); mOpenCloseAnimator.setDuration( SwipeDetector.calculateDuration(velocity, mTranslationShift)) - .setInterpolator(new DecelerateInterpolator()); + .setInterpolator(Interpolators.DEACCEL); mOpenCloseAnimator.start(); } } @@ -236,7 +237,7 @@ abstract class BaseWidgetSheet extends AbstractFloatingView if (mSwipeDetector.isIdleState()) { mOpenCloseAnimator .setDuration(defaultDuration) - .setInterpolator(new AccelerateInterpolator()); + .setInterpolator(Interpolators.ACCEL); } else { mOpenCloseAnimator.setInterpolator(mScrollInterpolator); } diff --git a/src/com/android/launcher3/widget/WidgetsBottomSheet.java b/src/com/android/launcher3/widget/WidgetsBottomSheet.java index 3bb3fcb98..7fa5ff054 100644 --- a/src/com/android/launcher3/widget/WidgetsBottomSheet.java +++ b/src/com/android/launcher3/widget/WidgetsBottomSheet.java @@ -24,8 +24,6 @@ import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.animation.AnimationUtils; -import android.view.animation.Interpolator; import android.widget.TextView; import com.android.launcher3.Insettable; @@ -33,6 +31,7 @@ import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppState; import com.android.launcher3.R; import com.android.launcher3.Utilities; +import com.android.launcher3.anim.Interpolators; import com.android.launcher3.graphics.GradientView; import com.android.launcher3.model.WidgetItem; import com.android.launcher3.util.PackageUserKey; @@ -46,7 +45,6 @@ public class WidgetsBottomSheet extends BaseWidgetSheet implements Insettable { private static final int DEFAULT_CLOSE_DURATION = 200; private ItemInfo mOriginalItemInfo; - private Interpolator mFastOutSlowInInterpolator; private Rect mInsets; public WidgetsBottomSheet(Context context, AttributeSet attrs) { @@ -56,8 +54,6 @@ public class WidgetsBottomSheet extends BaseWidgetSheet implements Insettable { public WidgetsBottomSheet(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setWillNotDraw(false); - mFastOutSlowInInterpolator = - AnimationUtils.loadInterpolator(context, android.R.interpolator.fast_out_slow_in); mInsets = new Rect(); mGradientView = (GradientView) mLauncher.getLayoutInflater().inflate( @@ -148,7 +144,7 @@ public class WidgetsBottomSheet extends BaseWidgetSheet implements Insettable { if (animate) { mOpenCloseAnimator.setValues( PropertyValuesHolder.ofFloat(TRANSLATION_SHIFT, TRANSLATION_SHIFT_OPENED)); - mOpenCloseAnimator.setInterpolator(mFastOutSlowInInterpolator); + mOpenCloseAnimator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); mOpenCloseAnimator.start(); } else { setTranslationShift(TRANSLATION_SHIFT_OPENED); |