summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-07-25 21:01:27 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-07-25 21:01:27 +0000
commit548ab38df73e41e5296a4b72d0b85d3a756ec89a (patch)
treefd279419a43eee6ee08a0ab8ddf03bdf6dfebb04
parent6e6661039ac026d3da1ff563b46a5845715a4628 (diff)
parentb0e80bcee7735589f5a11b1abc858acb6bf9d438 (diff)
downloadandroid_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.java2
-rw-r--r--src/com/android/launcher3/shortcuts/ShortcutsContainerListener.java17
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) {