@@ -176,7 +176,9 @@ private enum NewEventScrollDirection {
176
176
177
177
@ Override
178
178
public boolean onDown (MotionEvent e ) {
179
- stopScrolling ();
179
+ if (!wasOnNewEventRect (e )) {
180
+ stopScrolling ();
181
+ }
180
182
return true ;
181
183
}
182
184
@@ -221,8 +223,7 @@ public boolean onSingleTapUp(MotionEvent e){
221
223
222
224
@ Override
223
225
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 ))) {
226
227
return true ;
227
228
}
228
229
// Check if view is zoomed.
@@ -354,9 +355,10 @@ public void onLongPress(MotionEvent e) {
354
355
}
355
356
};
356
357
357
- public EventRect getNewEventRectWithCorrectDims ( ) {
358
+ public boolean wasOnNewEventRect ( MotionEvent e ) {
358
359
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 ());
360
362
}
361
363
362
364
@@ -2479,12 +2481,13 @@ public int getMinOverlappingMinutes() {
2479
2481
2480
2482
@ Override
2481
2483
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
2482
2487
mScaleDetector .onTouchEvent (event );
2483
2488
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();
2488
2491
movingNewEvent = true ;
2489
2492
startNewEventAdding (event );
2490
2493
}
0 commit comments