Fixing issue where dropping on the system bar would not properly cancel the drag.
Change-Id: I3d920cabb99216c222d5c419374527068f1947d0
diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java
index 3c956f0..d796fbe 100644
--- a/src/com/android/launcher2/DragController.java
+++ b/src/com/android/launcher2/DragController.java
@@ -584,6 +584,8 @@
mDragSource.onDropCompleted((View) dropTarget, false);
return true;
}
+ } else {
+ mDragSource.onDropCompleted(null, false);
}
return false;
}
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 3823cc1..eac9ebd 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -56,6 +56,7 @@
import android.util.AttributeSet;
import android.util.Log;
import android.util.Pair;
+import android.view.Display;
import android.view.DragEvent;
import android.view.MotionEvent;
import android.view.View;
@@ -1768,6 +1769,14 @@
onDropExternal(x, y, dragInfo, cellLayout, false);
}
+ @Override
+ public void getHitRect(Rect outRect) {
+ // We want the workspace to have the whole area of the display (it will find the correct
+ // cell layout to drop to in the existing drag/drop logic.
+ final Display d = mLauncher.getWindowManager().getDefaultDisplay();
+ outRect.set(0, 0, d.getWidth(), d.getHeight());
+ }
+
/**
* Add the item specified by dragInfo to the given layout.
* This is basically the equivalent of onDropExternal, except it's not initiated