summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/PagedViewWithDraggableItems.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2011-01-17 14:09:17 -0800
committerWinson Chung <winsonc@google.com>2011-01-17 14:10:21 -0800
commit94569f47c2fe3c2e04e993379d36e0597925e19f (patch)
tree2db585f2aeee9ab2f268eb4e7f1d7385ddbd9384 /src/com/android/launcher2/PagedViewWithDraggableItems.java
parent0b5888e8283a5e0aeae16ac5ea344bac046522c9 (diff)
downloadandroid_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.java8
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();
}
}