Improve quick settings fling/expand animation.
Change-Id: I507970ad2d22712a140f2107b62e689c2f3d7d6e
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index 6132ed2..f19ce97 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -32,6 +32,7 @@
import com.android.systemui.R;
import com.android.systemui.statusbar.ExpandableView;
+import com.android.systemui.statusbar.FlingAnimationUtils;
import com.android.systemui.statusbar.GestureRecorder;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
@@ -53,8 +54,6 @@
private int mNotificationTopPadding;
private boolean mAnimateNextTopPaddingChange;
- private Interpolator mExpansionInterpolator;
-
private int mTrackingPointer;
private VelocityTracker mVelocityTracker;
private boolean mTracking;
@@ -78,6 +77,7 @@
private int mStackScrollerIntrinsicPadding;
private boolean mQsExpansionEnabled = true;
private ValueAnimator mQsExpansionAnimator;
+ private FlingAnimationUtils mFlingAnimationUtils;
public NotificationPanelView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -115,8 +115,7 @@
mNotificationTopPadding = getResources().getDimensionPixelSize(
R.dimen.notifications_top_padding);
mMinStackHeight = getResources().getDimensionPixelSize(R.dimen.collapsed_stack_height);
- mExpansionInterpolator = AnimationUtils.loadInterpolator(
- getContext(), android.R.interpolator.fast_out_slow_in);
+ mFlingAnimationUtils = new FlingAnimationUtils(getContext());
}
@Override
@@ -435,13 +434,9 @@
}
}
private void flingSettings(float vel, boolean expand) {
-
- // TODO: Actually use velocity.
-
float target = expand ? mQsMaxExpansionHeight : mQsMinExpansionHeight;
ValueAnimator animator = ValueAnimator.ofFloat(mQsExpansionHeight, target);
- animator.setDuration(EXPANSION_ANIMATION_LENGTH);
- animator.setInterpolator(mExpansionInterpolator);
+ mFlingAnimationUtils.apply(animator, mQsExpansionHeight, target, vel);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {