code: @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;
    }
docs: Override method to dispatch touch event to the dragged view.
  
  @param ev captured.
  @return true if the touch event is realized over the drag or second view.