diff options
Diffstat (limited to 'src/com/android/launcher3/RampUpScroller.java')
-rw-r--r-- | src/com/android/launcher3/RampUpScroller.java | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/src/com/android/launcher3/RampUpScroller.java b/src/com/android/launcher3/RampUpScroller.java deleted file mode 100644 index 89eb5798e..000000000 --- a/src/com/android/launcher3/RampUpScroller.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2013 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.launcher3; - -import android.view.animation.AccelerateInterpolator; -import android.view.animation.AnimationUtils; -import android.view.animation.Interpolator; - -/** - * Scroller that gradually reaches a target velocity. - */ -class RampUpScroller { - private final Interpolator mInterpolator; - private final long mRampUpTime; - - private long mStartTime; - private long mDeltaTime; - private float mTargetVelocityX; - private float mTargetVelocityY; - private int mDeltaX; - private int mDeltaY; - - /** - * Creates a new ramp-up scroller that reaches full velocity after a - * specified duration. - * - * @param rampUpTime Duration before the scroller reaches target velocity. - */ - public RampUpScroller(long rampUpTime) { - mInterpolator = new AccelerateInterpolator(); - mRampUpTime = rampUpTime; - } - - /** - * Starts the scroller at the current animation time. - */ - public void start() { - mStartTime = AnimationUtils.currentAnimationTimeMillis(); - mDeltaTime = mStartTime; - } - - /** - * Computes the current scroll deltas. This usually only be called after - * starting the scroller with {@link #start()}. - * - * @see #getDeltaX() - * @see #getDeltaY() - */ - public void computeScrollDelta() { - final long currentTime = AnimationUtils.currentAnimationTimeMillis(); - final long elapsedSinceStart = currentTime - mStartTime; - final float scale; - if (elapsedSinceStart < mRampUpTime) { - scale = mInterpolator.getInterpolation((float) elapsedSinceStart / mRampUpTime); - } else { - scale = 1f; - } - - final long elapsedSinceDelta = currentTime - mDeltaTime; - mDeltaTime = currentTime; - - mDeltaX = (int) (elapsedSinceDelta * scale * mTargetVelocityX); - mDeltaY = (int) (elapsedSinceDelta * scale * mTargetVelocityY); - } - - /** - * Sets the target velocity for this scroller. - * - * @param x The target X velocity in pixels per millisecond. - * @param y The target Y velocity in pixels per millisecond. - */ - public void setTargetVelocity(float x, float y) { - mTargetVelocityX = x; - mTargetVelocityY = y; - } - - /** - * @return The target X velocity for this scroller. - */ - public float getTargetVelocityX() { - return mTargetVelocityX; - } - - /** - * @return The target Y velocity for this scroller. - */ - public float getTargetVelocityY() { - return mTargetVelocityY; - } - - /** - * The distance traveled in the X-coordinate computed by the last call to - * {@link #computeScrollDelta()}. - */ - public int getDeltaX() { - return mDeltaX; - } - - /** - * The distance traveled in the Y-coordinate computed by the last call to - * {@link #computeScrollDelta()}. - */ - public int getDeltaY() { - return mDeltaY; - } -} |