Skip to content

Commit b7d4434

Browse files
committed
fix: other start drag while scrolling behavior
1 parent 2d2ae40 commit b7d4434

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

library/src/main/java/com/alamkanak/weekview/WeekView.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,9 @@ private enum NewEventScrollDirection {
176176

177177
@Override
178178
public boolean onDown(MotionEvent e) {
179-
stopScrolling();
179+
if (!wasOnNewEventRect(e)) {
180+
stopScrolling();
181+
}
180182
return true;
181183
}
182184

@@ -221,8 +223,7 @@ public boolean onSingleTapUp(MotionEvent e){
221223

222224
@Override
223225
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
224-
EventRect newEventRectWithCorrectDims = getNewEventRectWithCorrectDims();
225-
if ((movingNewEvent) || (creatingNewEvent && mNewEventRect != null && newEventRectWithCorrectDims != null && newEventRectWithCorrectDims.rectF != null && newEventRectWithCorrectDims.rectF.contains(e1.getX(),e1.getY()))) {
226+
if ((movingNewEvent) || (creatingNewEvent && wasOnNewEventRect(e1))) {
226227
return true;
227228
}
228229
// Check if view is zoomed.
@@ -354,9 +355,10 @@ public void onLongPress(MotionEvent e) {
354355
}
355356
};
356357

357-
public EventRect getNewEventRectWithCorrectDims() {
358+
public boolean wasOnNewEventRect(MotionEvent e) {
358359
Optional<EventRect> newEventRectWithCorrectDims = mEventRects.stream().filter(r -> r.event.getIdentifier().equals(getNewEventIdentifier())).findFirst();
359-
return newEventRectWithCorrectDims.orElse(null);
360+
EventRect eventRect = newEventRectWithCorrectDims.orElse(null);
361+
return eventRect != null && eventRect.rectF != null && eventRect.rectF.contains(e.getX(), e.getY());
360362
}
361363

362364

@@ -2479,12 +2481,13 @@ public int getMinOverlappingMinutes() {
24792481

24802482
@Override
24812483
public boolean onTouchEvent(MotionEvent event) {
2484+
// TODO: fix single tap up
2485+
// TODO: fix horizontal auto scroll when dragging
2486+
// TODO: fix on drag verspringt bij start dragging -> lost op door verticale drag offset variabele toe te voegen
24822487
mScaleDetector.onTouchEvent(event);
24832488
boolean val = mGestureDetector.onTouchEvent(event);
2484-
EventRect newEventRect = getNewEventRectWithCorrectDims();
2485-
if (event.getAction() == MotionEvent.ACTION_DOWN && creatingNewEvent && newEventRect != null && newEventRect.rectF != null && newEventRect.rectF.contains(event.getX(), event.getY())) {
2486-
Log.d("QuivrWeekView", String.format("rectF: %s%n", mNewEventRect.rectF.toString()));
2487-
Log.d("QuivrWeekView", String.format("event: %s%n", event.toString()));
2489+
if (event.getAction() == MotionEvent.ACTION_DOWN && creatingNewEvent && wasOnNewEventRect(event)) {
2490+
// goToNearestOrigin();
24882491
movingNewEvent = true;
24892492
startNewEventAdding(event);
24902493
}

0 commit comments

Comments
 (0)