diff options
author | Marco Nelissen <marcone@google.com> | 2009-05-26 14:20:35 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2009-05-26 14:20:35 -0700 |
commit | fea57edf0dd27bc21c34e7f96cd6383d6f2dff42 (patch) | |
tree | 76b762f23db5e129caed88dddd474badbafc937b /core/java | |
parent | 8fc5a63d422fd32258dc18fe0e635b4f1486fd61 (diff) | |
download | frameworks_base-fea57edf0dd27bc21c34e7f96cd6383d6f2dff42.zip frameworks_base-fea57edf0dd27bc21c34e7f96cd6383d6f2dff42.tar.gz frameworks_base-fea57edf0dd27bc21c34e7f96cd6383d6f2dff42.tar.bz2 |
Fix crash in GestureOverlayView
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/widget/AbsListView.java | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index ccb876f..e896d58 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -755,19 +755,21 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te if (ev.getAction() != MotionEvent.ACTION_DOWN || mFastScroller == null || !mFastScroller.isPointInside(ev.getX(), ev.getY())) { - mGesturesOverlay.dispatchTouchEvent(ev); - - final boolean isGesturing = mGesturesOverlay.isGesturing(); - - if (!isGesturing) { - mPreviousGesturing = isGesturing; - return super.dispatchTouchEvent(ev); - } else if (!mPreviousGesturing){ - mPreviousGesturing = isGesturing; - final MotionEvent event = MotionEvent.obtain(ev); - event.setAction(MotionEvent.ACTION_CANCEL); - super.dispatchTouchEvent(event); - return true; + if (mGesturesPopup.isShowing()) { + mGesturesOverlay.dispatchTouchEvent(ev); + + final boolean isGesturing = mGesturesOverlay.isGesturing(); + + if (!isGesturing) { + mPreviousGesturing = isGesturing; + return super.dispatchTouchEvent(ev); + } else if (!mPreviousGesturing){ + mPreviousGesturing = isGesturing; + final MotionEvent event = MotionEvent.obtain(ev); + event.setAction(MotionEvent.ACTION_CANCEL); + super.dispatchTouchEvent(event); + return true; + } } } } @@ -1927,6 +1929,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te final int longPressPosition, final long longPressId) { boolean handled = false; + dismissGesturesPopup(); + if (mOnItemLongClickListener != null) { handled = mOnItemLongClickListener.onItemLongClick(AbsListView.this, child, longPressPosition, longPressId); |