use of android.view.VelocityTracker in project android_frameworks_base by ParanoidAndroid.
the class VelocityTest method testClear.
/**
* Test that {@link android.view.VelocityTracker}.clear() clears
* the previous values after a call to computeCurrentVelocity()
*/
@MediumTest
public void testClear() {
long t = System.currentTimeMillis();
VelocityTracker vt = VelocityTracker.obtain();
drag(vt, 100, 200, 100, 200, 10, t, 300);
vt.computeCurrentVelocity(1);
assertFalse("Velocity should not be null", vt.getXVelocity() == 0.0f);
assertFalse("Velocity should not be null", vt.getYVelocity() == 0.0f);
vt.clear();
vt.computeCurrentVelocity(1);
assertEquals(0.0f, vt.getXVelocity());
assertEquals(0.0f, vt.getYVelocity());
vt.recycle();
}
use of android.view.VelocityTracker in project android_frameworks_base by ParanoidAndroid.
the class VelocityTest method testStabilityInSpace.
/**
* Velocity is independent of the position of the events,
* it only depends on their relative distance.
*/
@MediumTest
public void testStabilityInSpace() {
long t = System.currentTimeMillis();
VelocityTracker vt = VelocityTracker.obtain();
drag(vt, 100, 200, 100, 200, 10, t, 400);
vt.computeCurrentVelocity(1);
float firstX = vt.getXVelocity();
float firstY = vt.getYVelocity();
vt.clear();
// 100px further
drag(vt, 200, 300, 200, 300, 10, t, 400);
vt.computeCurrentVelocity(1);
float secondX = vt.getXVelocity();
float secondY = vt.getYVelocity();
assertEqualFuzzy(firstX, secondX, 0.1f);
assertEqualFuzzy(firstY, secondY, 0.1f);
vt.recycle();
}
use of android.view.VelocityTracker in project android_frameworks_base by ParanoidAndroid.
the class VelocityTest method testStabilityOfComputation.
/**
* Test that calls to {@link android.view.VelocityTracker}.computeCurrentVelocity()
* will output same values when using the same data.
*/
@MediumTest
public void testStabilityOfComputation() {
long t = System.currentTimeMillis();
VelocityTracker vt = VelocityTracker.obtain();
drag(vt, 100, 200, 100, 200, 10, t, 300);
vt.computeCurrentVelocity(1);
float firstX = vt.getXVelocity();
float firstY = vt.getYVelocity();
vt.computeCurrentVelocity(1);
float secondX = vt.getXVelocity();
float secondY = vt.getYVelocity();
assertEquals(firstX, secondX);
assertEquals(firstY, secondY);
vt.recycle();
}
use of android.view.VelocityTracker in project android_frameworks_base by ParanoidAndroid.
the class VelocityTest method testDragLinearVertical.
@MediumTest
public void testDragLinearVertical() {
long t = System.currentTimeMillis();
VelocityTracker vt = VelocityTracker.obtain();
// 100px in 400ms => 250px/s
drag(vt, 200, 200, 100, 200, 15, t, 400);
vt.computeCurrentVelocity(1000);
assertEquals(0.0f, vt.getXVelocity());
assertEqualFuzzy(250.0f, vt.getYVelocity(), 4f);
vt.recycle();
}
use of android.view.VelocityTracker in project android_frameworks_base by ParanoidAndroid.
the class VelocityTest method testDragAcceleration.
@MediumTest
public void testDragAcceleration() {
long t = System.currentTimeMillis();
VelocityTracker vt = VelocityTracker.obtain();
drag(vt, 100, 200, 100, 200, 15, t, 400, new AccelerateInterpolator());
vt.computeCurrentVelocity(1000);
assertGreater(250.0f, vt.getXVelocity());
assertGreater(250.0f, vt.getYVelocity());
vt.recycle();
}
Aggregations