am 83f111d: Prevent race condition when cancelling long-press for scroll

Merge commit '83f111d129fcb8c50b35da789f0d75604b9c0864'

* commit '83f111d129fcb8c50b35da789f0d75604b9c0864':
  Prevent race condition when cancelling long-press for scroll.
diff --git a/src/com/android/launcher/CellLayout.java b/src/com/android/launcher/CellLayout.java
index 157bf56..160dd18 100644
--- a/src/com/android/launcher/CellLayout.java
+++ b/src/com/android/launcher/CellLayout.java
@@ -98,6 +98,18 @@
         }
     }
 
+    @Override
+    public void cancelLongPress() {
+        super.cancelLongPress();
+
+        // Cancel long press for all children
+        final int count = getChildCount();
+        for (int i = 0; i < count; i++) {
+            final View child = getChildAt(i);
+            child.cancelLongPress();
+        }
+    }
+
     int getCountX() {
         return mPortrait ? mShortAxisCells : mLongAxisCells;
     }
diff --git a/src/com/android/launcher/LauncherAppWidgetHostView.java b/src/com/android/launcher/LauncherAppWidgetHostView.java
index 1e21a19..da5b3a0 100644
--- a/src/com/android/launcher/LauncherAppWidgetHostView.java
+++ b/src/com/android/launcher/LauncherAppWidgetHostView.java
@@ -98,4 +98,14 @@
         mPendingCheckForLongPress.rememberWindowAttachCount();
         postDelayed(mPendingCheckForLongPress, ViewConfiguration.getLongPressTimeout());
     }
+
+    @Override
+    public void cancelLongPress() {
+        super.cancelLongPress();
+
+        mHasPerformedLongPress = false;
+        if (mPendingCheckForLongPress != null) {
+            removeCallbacks(mPendingCheckForLongPress);
+        }
+    }
 }