code: public boolean fling(int velocityX, int velocityY) {
          if (Math.abs(velocityX) < mMinFlingVelocity) {
              velocityX = 0;
          }
          if (Math.abs(velocityY) < mMinFlingVelocity) {
              velocityY = 0;
          }
          velocityX = Math.max(-mMaxFlingVelocity, Math.min(velocityX, mMaxFlingVelocity));
          velocityY = Math.max(-mMaxFlingVelocity, Math.min(velocityY, mMaxFlingVelocity));
          if (velocityX != 0 || velocityY != 0) {
              mViewFlinger.fling(velocityX, velocityY);
              return true;
          }
          return false;
      }
docs: Begin a standard fling with an initial velocity along each axis in pixels per second.
  If the velocity given is below the system-defined minimum this method will return false
  and no fling will occur.
  
  @param velocityX Initial horizontal velocity in pixels per second
  @param velocityY Initial vertical velocity in pixels per second
  @return true if the fling was started, false if the velocity was too low to fling