@ Override public boolean onTouchEvent ( MotionEvent ev ) { int actionMasked = MotionEventCompat . getActionMasked ( ev ) ; if ( ( actionMasked & MotionEventCompat . ACTION_MASK ) == MotionEvent . ACTION_DOWN ) { activePointerId = MotionEventCompat . getPointerId ( ev , actionMasked ) ; } if ( activePointerId == INVALID_POINTER ) { return false ; } viewDragHelper . processTouchEvent ( ev ) ; if ( isClosed ( ) ) { return false ; } boolean isDragViewHit = isViewHit ( dragView , ( int ) ev . getX ( ) , ( int ) ev . getY ( ) ) ; boolean isSecondViewHit = isViewHit ( secondView , ( int ) ev . getX ( ) , ( int ) ev . getY ( ) ) ; analyzeTouchToMaximizeIfNeeded ( ev , isDragViewHit ) ; if ( isMaximized ( ) ) { dragView . dispatchTouchEvent ( ev ) ; } else { dragView . dispatchTouchEvent ( cloneMotionEventWithAction ( ev , MotionEvent . ACTION_CANCEL ) ) ; } return isDragViewHit || isSecondViewHit ; }
Override method to dispatch touch event to the dragged view .