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