diff options
Diffstat (limited to 'src/com/android/launcher2/PagedViewWithDraggableItems.java')
-rw-r--r-- | src/com/android/launcher2/PagedViewWithDraggableItems.java | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/src/com/android/launcher2/PagedViewWithDraggableItems.java b/src/com/android/launcher2/PagedViewWithDraggableItems.java index 283cceda3..b1f199b4e 100644 --- a/src/com/android/launcher2/PagedViewWithDraggableItems.java +++ b/src/com/android/launcher2/PagedViewWithDraggableItems.java @@ -54,13 +54,16 @@ public abstract class PagedViewWithDraggableItems extends PagedView return false; } - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { + protected void cancelDragging() { + mIsDragging = false; + mLastTouchedItem = null; + } + + private void handleTouchEvent(MotionEvent ev) { final int action = ev.getAction(); switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: - mIsDragging = false; - mLastTouchedItem = null; + cancelDragging(); break; case MotionEvent.ACTION_MOVE: if (mTouchState != TOUCH_STATE_SCROLLING && !mIsDragging) { @@ -68,33 +71,27 @@ public abstract class PagedViewWithDraggableItems extends PagedView } break; } - return super.onInterceptTouchEvent(ev); } @Override - public boolean onTouch(View v, MotionEvent event) { - mLastTouchedItem = v; - return false; + public boolean onInterceptTouchEvent(MotionEvent ev) { + handleTouchEvent(ev); + return super.onInterceptTouchEvent(ev); } @Override public boolean onTouchEvent(MotionEvent ev) { - final int action = ev.getAction(); - switch (action & MotionEvent.ACTION_MASK) { - case MotionEvent.ACTION_DOWN: - mIsDragging = false; - mLastTouchedItem = null; - break; - case MotionEvent.ACTION_MOVE: - if (mTouchState != TOUCH_STATE_SCROLLING && !mIsDragging) { - determineDraggingStart(ev); - } - break; - } + handleTouchEvent(ev); return super.onTouchEvent(ev); } @Override + public boolean onTouch(View v, MotionEvent event) { + mLastTouchedItem = v; + return false; + } + + @Override public boolean onLongClick(View v) { // Return early if this is not initiated from a touch if (!v.isInTouchMode()) return false; |