diff options
author | Winson Chung <winsonc@google.com> | 2011-01-17 14:09:17 -0800 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2011-01-17 14:10:21 -0800 |
commit | 94569f47c2fe3c2e04e993379d36e0597925e19f (patch) | |
tree | 2db585f2aeee9ab2f268eb4e7f1d7385ddbd9384 /src/com/android/launcher2/PagedViewWithDraggableItems.java | |
parent | 0b5888e8283a5e0aeae16ac5ea344bac046522c9 (diff) | |
download | android_packages_apps_Trebuchet-94569f47c2fe3c2e04e993379d36e0597925e19f.tar.gz android_packages_apps_Trebuchet-94569f47c2fe3c2e04e993379d36e0597925e19f.tar.bz2 android_packages_apps_Trebuchet-94569f47c2fe3c2e04e993379d36e0597925e19f.zip |
Adding more checks to prevent unsync'd dragging states in customization drawer.
Change-Id: I7e4ed80d9bd5ce1e899827eafd0f44a88cce4346
Diffstat (limited to 'src/com/android/launcher2/PagedViewWithDraggableItems.java')
-rw-r--r-- | src/com/android/launcher2/PagedViewWithDraggableItems.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/com/android/launcher2/PagedViewWithDraggableItems.java b/src/com/android/launcher2/PagedViewWithDraggableItems.java index 3f722921a..5fa7be798 100644 --- a/src/com/android/launcher2/PagedViewWithDraggableItems.java +++ b/src/com/android/launcher2/PagedViewWithDraggableItems.java @@ -35,6 +35,7 @@ public abstract class PagedViewWithDraggableItems extends PagedView implements View.OnLongClickListener, View.OnTouchListener { private View mLastTouchedItem; private boolean mIsDragging; + private boolean mIsDragEnabled; private float mDragSlopeThreshold; public PagedViewWithDraggableItems(Context context) { @@ -58,6 +59,7 @@ public abstract class PagedViewWithDraggableItems extends PagedView protected void cancelDragging() { mIsDragging = false; mLastTouchedItem = null; + mIsDragEnabled = false; } private void handleTouchEvent(MotionEvent ev) { @@ -65,9 +67,10 @@ public abstract class PagedViewWithDraggableItems extends PagedView switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: cancelDragging(); + mIsDragEnabled = true; break; case MotionEvent.ACTION_MOVE: - if (mTouchState != TOUCH_STATE_SCROLLING && !mIsDragging) { + if (mTouchState != TOUCH_STATE_SCROLLING && !mIsDragging && mIsDragEnabled) { determineDraggingStart(ev); } break; @@ -89,6 +92,7 @@ public abstract class PagedViewWithDraggableItems extends PagedView @Override public boolean onTouch(View v, MotionEvent event) { mLastTouchedItem = v; + mIsDragEnabled = true; return false; } @@ -153,7 +157,7 @@ public abstract class PagedViewWithDraggableItems extends PagedView @Override protected void onDetachedFromWindow() { - mLastTouchedItem = null; + cancelDragging(); super.onDetachedFromWindow(); } } |