private void track(float x, float y, long time) { float timeDelta = (float) (time - mLastEventTime); if (FloatUtils.fuzzyEquals(timeDelta, 0)) { // probably a duplicate event, ignore it. using a zero timeDelta will mess // up our velocity return; } mLastEventTime = time; mX.updateWithTouchAt(x, timeDelta); mY.updateWithTouchAt(y, timeDelta); }