Ensuring that we don't start dragging while another drag is in progress.
Change-Id: If3c5a059407efc3ee9a0c9b1b3b7fb942d3a7664
This commit is contained in:
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user