mDownPositionX = ev.getRawX(); mDownPositionY = ev.getRawY(); mTouchToWindowOffsetX = mDownPositionX - mPositionX; mTouchToWindowOffsetY = mDownPositionY - mPositionY; final int[] coords = mTempCoords; mParent.getLocationInWindow(coords); mLastParentX = coords[0]; mLastParentY = coords[1]; mIsDragging = true; mController.beforeStartUpdatingPosition(this); mTouchTimer = SystemClock.uptimeMillis(); break; } case MotionEvent.ACTION_MOVE: { updatePosition(ev.getRawX(), ev.getRawY()); break; } case MotionEvent.ACTION_UP: