ignore drop position when dragging items to small screens

- adding plumbing for future support for spring-loaded adding of items
- also, additional minor code cleanup

Change-Id: Idb313d4cd125b4f0b315a845dc8fb853cb48885e
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 232fef4..2a2d364 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -1101,7 +1101,7 @@
         // supporting spring-loaded mini-screens; however, leaving the ability to directly place
         // a widget on the home screen in case we want to add it in the future
         int[] touchXY = null;
-        if (mAddDropPosition[0] > -1 && mAddDropPosition[1] > -1) {
+        if (mAddDropPosition != null && mAddDropPosition[0] > -1 && mAddDropPosition[1] > -1) {
             touchXY = mAddDropPosition;
         }
         boolean findNearestVacantAreaFailed = false;
@@ -1114,15 +1114,12 @@
             findNearestVacantAreaFailed = (result == null);
             foundCellSpan = !findNearestVacantAreaFailed;
         } else {
-            if (mAddIntersectCellX != -1 && mAddIntersectCellY != -1) {
-                // if we long pressed on an empty cell to bring up a menu,
-                // make sure we intersect the empty cell
-                foundCellSpan = layout.findCellForSpanThatIntersects(cellXY, spanXY[0], spanXY[1],
-                        mAddIntersectCellX, mAddIntersectCellY);
-            } else {
-                // if we went through the menu -> add, just find any spot
-                foundCellSpan = layout.findCellForSpan(cellXY, spanXY[0], spanXY[1]);
-            }
+            // if we long pressed on an empty cell to bring up a menu,
+            // make sure we intersect the empty cell
+            // if mAddIntersectCellX/Y are -1 (e.g. we used menu -> add) then
+            // findCellForSpanThatIntersects will just ignore them
+            foundCellSpan = layout.findCellForSpanThatIntersects(cellXY, spanXY[0], spanXY[1],
+                    mAddIntersectCellX, mAddIntersectCellY);
         }
 
         if (!foundCellSpan) {
@@ -2778,7 +2775,9 @@
     }
 
     void showWorkspace(boolean animated, CellLayout layout) {
-        if (layout != null && animated) {
+        if (layout != null) {
+            // always animated, but that's ok since we never specify a layout and
+            // want no animation
             mWorkspace.unshrink(layout);
         } else {
             mWorkspace.unshrink(animated);