Ensuring that we don't start dragging while another drag is in progress.

Change-Id: If3c5a059407efc3ee9a0c9b1b3b7fb942d3a7664
This commit is contained in:
Winson Chung
2011-01-07 11:17:23 -08:00
parent 815ba2d2ea
commit 304dcde0e3
5 changed files with 12 additions and 8 deletions
@@ -234,10 +234,8 @@ public class AllAppsPagedView extends PagedViewWithDraggableItems implements All
@Override
protected boolean beginDragging(View v) {
if (!v.isInTouchMode()) {
return false;
}
super.beginDragging(v);
if (!v.isInTouchMode()) return false;
if (!super.beginDragging(v)) return false;
// Start drag mode after the item is selected
setupDragMode();
@@ -492,12 +492,13 @@ public class CustomizePagedView extends PagedViewWithDraggableItems
}
protected boolean beginDragging(View v) {
if (!v.isInTouchMode()) return false;
if (!super.beginDragging(v)) return false;
// End the current choice mode before we start dragging anything
if (isChoiceMode(CHOICE_MODE_SINGLE)) {
endChoiceMode();
}
super.beginDragging(v);
boolean result = false;
switch (mCustomizationType) {
case WidgetCustomization: {
@@ -390,6 +390,10 @@ public class DragController {
return mDragging;
}
public boolean isDragging() {
return mDragging;
}
/**
* Stop dragging without dropping.
*/
+1 -1
View File
@@ -2221,7 +2221,7 @@ public final class Launcher extends Activity
final View itemUnderLongClick = longClickCellInfo.cell;
if (mWorkspace.allowLongPress()) {
if (mWorkspace.allowLongPress() && !mDragController.isDragging()) {
if (itemUnderLongClick == null) {
// User long pressed on empty space
mWorkspace.setAllowLongPress(false);
@@ -50,8 +50,9 @@ public abstract class PagedViewWithDraggableItems extends PagedView
}
protected boolean beginDragging(View v) {
boolean wasDragging = mIsDragging;
mIsDragging = true;
return false;
return !wasDragging;
}
protected void cancelDragging() {