package com.external.HorizontalVariableListView.widget;
import android.annotation.TargetApi;
import android.view.View;
import android.view.animation.DecelerateInterpolator;
import android.widget.OverScroller;
@TargetApi(9)
class Fling9Runnable extends IFlingRunnable {
private OverScroller mScroller;
public Fling9Runnable( FlingRunnableView parent, int animationDuration ) {
super( parent, animationDuration );
mScroller = new OverScroller( ( (View) parent ).getContext(), new DecelerateInterpolator( 1.0f ) );
}
@TargetApi(14)
@Override
public float getCurrVelocity() {
return mScroller.getCurrVelocity();
}
@Override
public boolean isFinished() {
return mScroller.isFinished();
}
@Override
public boolean springBack( int startX, int startY, int minX, int maxX, int minY, int maxY ) {
return mScroller.springBack( startX, startY, minX, maxX, minY, maxY );
}
@Override
protected void _startUsingVelocity( int initialX, int velocity ) {
mScroller.fling( initialX, 0, velocity, 0, mParent.getMinX(), mParent.getMaxX(), 0, Integer.MAX_VALUE, 10, 0 );
}
@Override
protected void _startUsingDistance( int initialX, int distance ) {
mScroller.startScroll( initialX, 0, distance, 0, mAnimationDuration );
}
@Override
protected boolean computeScrollOffset() {
return mScroller.computeScrollOffset();
}
@Override
protected int getCurrX() {
return mScroller.getCurrX();
}
@Override
protected void forceFinished( boolean finished ) {
mScroller.abortAnimation();
}
}