diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-07-25 21:01:27 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-07-25 21:01:27 +0000 |
commit | 548ab38df73e41e5296a4b72d0b85d3a756ec89a (patch) | |
tree | fd279419a43eee6ee08a0ab8ddf03bdf6dfebb04 | |
parent | 6e6661039ac026d3da1ff563b46a5845715a4628 (diff) | |
parent | b0e80bcee7735589f5a11b1abc858acb6bf9d438 (diff) | |
download | android_packages_apps_Trebuchet-548ab38df73e41e5296a4b72d0b85d3a756ec89a.tar.gz android_packages_apps_Trebuchet-548ab38df73e41e5296a4b72d0b85d3a756ec89a.tar.bz2 android_packages_apps_Trebuchet-548ab38df73e41e5296a4b72d0b85d3a756ec89a.zip |
Fixing missed events during motion interaction
am: b0e80bcee7
Change-Id: Ifd4f5eab7c44db890c3fa1f224b5fd124fd3f406
-rw-r--r-- | src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/shortcuts/ShortcutsContainerListener.java | 17 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java b/src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java index 809182559..c9eee81e4 100644 --- a/src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java +++ b/src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java @@ -388,6 +388,8 @@ public class DeepShortcutsContainer extends LinearLayout implements View.OnLongC break; } } + } else if (action == MotionEvent.ACTION_CANCEL) { + cleanupDeferredDrag(); } return true; } diff --git a/src/com/android/launcher3/shortcuts/ShortcutsContainerListener.java b/src/com/android/launcher3/shortcuts/ShortcutsContainerListener.java index 962fbac83..f3b0d0402 100644 --- a/src/com/android/launcher3/shortcuts/ShortcutsContainerListener.java +++ b/src/com/android/launcher3/shortcuts/ShortcutsContainerListener.java @@ -56,6 +56,9 @@ public class ShortcutsContainerListener implements View.OnTouchListener, private final int[] mTouchDown; private boolean mHasMappedTouchDownToContainerCoord; + /** If true, the gesture is not handled. The value is reset when next gesture starts. */ + private boolean mIgnoreCurrentGesture; + public ShortcutsContainerListener(BubbleTextView icon) { mSrcIcon = icon; mScaledTouchSlop = ViewConfiguration.get(icon.getContext()).getScaledTouchSlop(); @@ -72,18 +75,22 @@ public class ShortcutsContainerListener implements View.OnTouchListener, @Override public boolean onTouch(View v, MotionEvent event) { - if (mLauncher.getShortcutIdsForItem((ItemInfo) v.getTag()).isEmpty()) { - // There are no shortcuts associated with this item, so return to normal touch handling. - return false; - } - if (event.getAction() == MotionEvent.ACTION_DOWN) { + // There are no shortcuts associated with this item, + // so return to normal touch handling. + mIgnoreCurrentGesture = + (mLauncher.getShortcutIdsForItem((ItemInfo) v.getTag())).isEmpty(); + mTouchDown[0] = (int) event.getX(); mTouchDown[1] = (int) event.getY(); mDragLayer.getDescendantCoordRelativeToSelf(mSrcIcon, mTouchDown); mHasMappedTouchDownToContainerCoord = false; } + if (mIgnoreCurrentGesture) { + return false; + } + final boolean wasForwarding = mForwarding; final boolean forwarding; if (wasForwarding) { |