Skip to content

Commit 9be7236

Browse files
committed
Fixed yuyakaido#23
1 parent 57d986d commit 9be7236

File tree

5 files changed

+14
-20
lines changed

5 files changed

+14
-20
lines changed

cardstackview/src/main/java/com/yuyakaido/android/cardstackview/CardStackView.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class CardStackView extends FrameLayout {
2727

2828
public interface CardEventListener {
2929
void onCardDragging(float percentX, float percentY);
30-
void onCardSwiped(Quadrant quadrant);
30+
void onCardSwiped(SwipeDirection direction);
3131
void onCardReversed();
3232
void onCardMovedToOrigin();
3333
void onCardClicked(int index);
@@ -59,8 +59,8 @@ public void onContainerDragging(float percentX, float percentY) {
5959
update(percentX, percentY);
6060
}
6161
@Override
62-
public void onContainerSwiped(Point point) {
63-
swipe(point);
62+
public void onContainerSwiped(Point point, SwipeDirection direction) {
63+
swipe(point, direction);
6464
}
6565
@Override
6666
public void onContainerMovedToOrigin() {
@@ -307,7 +307,7 @@ private void executePreSwipeTask() {
307307
containers.get(1).setDraggable(true);
308308
}
309309

310-
private void executePostSwipeTask(Point point) {
310+
private void executePostSwipeTask(Point point, SwipeDirection direction) {
311311
reorderForSwipe();
312312

313313
state.lastPoint = point;
@@ -317,9 +317,7 @@ private void executePostSwipeTask(Point point) {
317317
state.topIndex++;
318318

319319
if (cardEventListener != null) {
320-
cardEventListener.onCardSwiped(Util.getQuadrant(
321-
getTopView().getViewOriginX(), getTopView().getViewOriginY(),
322-
point.x, -point.y));
320+
cardEventListener.onCardSwiped(direction);
323321
}
324322

325323
loadNextView();
@@ -447,22 +445,22 @@ public void setPaginationReserved() {
447445
state.isPaginationReserved = true;
448446
}
449447

450-
public void swipe(final Point point) {
448+
public void swipe(final Point point, final SwipeDirection direction) {
451449
executePreSwipeTask();
452450
performSwipe(point, new AnimatorListenerAdapter() {
453451
@Override
454452
public void onAnimationEnd(Animator animator) {
455-
executePostSwipeTask(point);
453+
executePostSwipeTask(point, direction);
456454
}
457455
});
458456
}
459457

460-
public void swipe(SwipeDirection direction, AnimatorSet set) {
458+
public void swipe(final SwipeDirection direction, AnimatorSet set) {
461459
executePreSwipeTask();
462460
performSwipe(direction, set, new AnimatorListenerAdapter() {
463461
@Override
464462
public void onAnimationEnd(Animator animator) {
465-
executePostSwipeTask(new Point(0, -2000));
463+
executePostSwipeTask(new Point(0, -2000), direction);
466464
}
467465
});
468466
}

cardstackview/src/main/java/com/yuyakaido/android/cardstackview/internal/CardContainerView.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import android.view.animation.OvershootInterpolator;
1414
import android.widget.FrameLayout;
1515

16-
import com.yuyakaido.android.cardstackview.Quadrant;
1716
import com.yuyakaido.android.cardstackview.R;
1817
import com.yuyakaido.android.cardstackview.SwipeDirection;
1918

@@ -49,7 +48,7 @@ public boolean onSingleTapUp(MotionEvent e) {
4948

5049
public interface ContainerEventListener {
5150
void onContainerDragging(float percentX, float percentY);
52-
void onContainerSwiped(Point point);
51+
void onContainerSwiped(Point point, SwipeDirection direction);
5352
void onContainerMovedToOrigin();
5453
void onContainerClicked();
5554
}
@@ -166,7 +165,7 @@ private void handleActionUp(MotionEvent event) {
166165
if (Math.abs(percent) > option.swipeThreshold) {
167166
if (option.swipeDirection.contains(direction)) {
168167
if (containerEventListener != null) {
169-
containerEventListener.onContainerSwiped(point);
168+
containerEventListener.onContainerSwiped(point, direction);
170169
}
171170
} else {
172171
moveToOrigin();

cardstackview/src/main/java/com/yuyakaido/android/cardstackview/Quadrant.java renamed to cardstackview/src/main/java/com/yuyakaido/android/cardstackview/internal/Quadrant.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.yuyakaido.android.cardstackview;
1+
package com.yuyakaido.android.cardstackview.internal;
22

33
public enum Quadrant {
44
TopLeft, TopRight, BottomLeft, BottomRight

cardstackview/src/main/java/com/yuyakaido/android/cardstackview/internal/Util.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
import android.content.Context;
44
import android.graphics.Point;
55

6-
import com.yuyakaido.android.cardstackview.Quadrant;
7-
86
public class Util {
97

108
private Util() {}

sample/src/main/java/com/yuyakaido/android/cardstackview/sample/MainActivity.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import android.widget.ProgressBar;
1515

1616
import com.yuyakaido.android.cardstackview.CardStackView;
17-
import com.yuyakaido.android.cardstackview.Quadrant;
1817
import com.yuyakaido.android.cardstackview.SwipeDirection;
1918

2019
import java.util.ArrayList;
@@ -108,8 +107,8 @@ public void onCardDragging(float percentX, float percentY) {
108107
}
109108

110109
@Override
111-
public void onCardSwiped(Quadrant quadrant) {
112-
Log.d("CardStackView", "onCardSwiped: " + quadrant.toString());
110+
public void onCardSwiped(SwipeDirection direction) {
111+
Log.d("CardStackView", "onCardSwiped: " + direction.toString());
113112
Log.d("CardStackView", "topIndex: " + cardStackView.getTopIndex());
114113
if (cardStackView.getTopIndex() == adapter.getCount() - 5) {
115114
Log.d("CardStackView", "Paginate: " + cardStackView.getTopIndex());

0 commit comments

Comments
 (0)