From 97c7ea4874df2f4918c7e64d9c0cec64a81dd2cb Mon Sep 17 00:00:00 2001 From: Marek Oszczyk Date: Tue, 28 Apr 2015 13:07:14 +0200 Subject: [PATCH] Fix stutter when card is moved in opposite direction - Bug: start moving > change direction: when abs(delta) > slop, the touch is cancelled --- .../library/view/listener/SwipeDismissViewTouchListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library-core/src/main/java/it/gmariotti/cardslib/library/view/listener/SwipeDismissViewTouchListener.java b/library-core/src/main/java/it/gmariotti/cardslib/library/view/listener/SwipeDismissViewTouchListener.java index b7fa2c98..3f51cf60 100644 --- a/library-core/src/main/java/it/gmariotti/cardslib/library/view/listener/SwipeDismissViewTouchListener.java +++ b/library-core/src/main/java/it/gmariotti/cardslib/library/view/listener/SwipeDismissViewTouchListener.java @@ -224,7 +224,8 @@ public void onAnimationEnd(Animator animation) { mVelocityTracker.addMovement(motionEvent); float deltaX = motionEvent.getRawX() - mDownX; float deltaY = motionEvent.getRawY() - mDownY; - if (Math.abs(deltaX) > mSlop && Math.abs(deltaY) < Math.abs(deltaX) / 2) { + if (Math.abs(deltaX) > mSlop && Math.abs(deltaY) < Math.abs(deltaX) / 2 + && !mSwiping) { mSwiping = true; ((View)mCardView).getParent().requestDisallowInterceptTouchEvent(true); mSwipingSlop = (deltaX > 0 ? mSlop : -mSlop);