@@ -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