question: private PointF isFlingingToDelete ( DragSource source ) { if ( mFlingToDeleteDropTarget == null ) return null ; if ( ! source . supportsFlingToDelete ( ) ) return null ; ViewConfiguration config = ViewConfiguration . get ( mLauncher ) ; mVelocityTracker . computeCurrentVelocity ( 1000 , config . getScaledMaximumFlingVelocity ( ) ) ; if ( mVelocityTracker . getYVelocity ( ) < mFlingToDeleteThresholdVelocity ) { PointF vel = new PointF ( mVelocityTracker . getXVelocity ( ) , mVelocityTracker . getYVelocity ( ) ) ; PointF upVec = new PointF ( 0f , - 1f ) ; float theta = ( float ) Math . acos ( ( ( vel . x * upVec . x ) + ( vel . y * upVec . y ) ) / ( vel . length ( ) * upVec . length ( ) ) ) ; if ( theta <= Math . toRadians ( MAX_FLING_DEGREES ) ) { return vel ; } } return null ; }
target:  Determines whether the user flung the current item to delete it.