@@ -31,13 +31,17 @@ class GestureListener extends GestureDetector.SimpleOnGestureListener {
31
31
32
32
@ Override
33
33
public boolean onDoubleTap (MotionEvent e ) {
34
- touchTypListener .onDoubleTap ();
35
- return super .onDoubleTap (e );
34
+ if (e != null ) {
35
+ touchTypListener .onDoubleTap ();
36
+ return super .onDoubleTap (e );
37
+ } else {
38
+ return false ;
39
+ }
36
40
}
37
41
38
42
@ Override
39
43
public boolean onFling (MotionEvent startevent , MotionEvent finishevent , float velocityX ,
40
- float velocityY ) {
44
+ float velocityY ) {
41
45
42
46
final float deltaX = finishevent .getX () - startevent .getX ();
43
47
final float deltaY = finishevent .getY () - startevent .getY ();
@@ -67,13 +71,15 @@ public boolean onFling(MotionEvent startevent, MotionEvent finishevent, float ve
67
71
68
72
@ Override
69
73
public void onLongPress (MotionEvent e ) {
70
- touchTypListener .onLongPress ();
71
- super .onLongPress (e );
74
+ if (e != null ) {
75
+ touchTypListener .onLongPress ();
76
+ super .onLongPress (e );
77
+ }
72
78
}
73
79
74
80
@ Override
75
81
public boolean onScroll (MotionEvent startevent , MotionEvent finishevent , float distanceX ,
76
- float distanceY ) {
82
+ float distanceY ) {
77
83
78
84
float deltaX = finishevent .getX () - startevent .getX ();
79
85
float deltaY = finishevent .getY () - startevent .getY ();
@@ -103,8 +109,12 @@ public boolean onScroll(MotionEvent startevent, MotionEvent finishevent, float d
103
109
104
110
@ Override
105
111
public boolean onSingleTapConfirmed (MotionEvent e ) {
106
- touchTypListener .onSingleTap ();
107
- return super .onSingleTapConfirmed (e );
112
+ if (e != null ) {
113
+ touchTypListener .onSingleTap ();
114
+ return super .onSingleTapConfirmed (e );
115
+ } else {
116
+ return false ;
117
+ }
108
118
}
109
119
}
110
120
@@ -155,15 +165,18 @@ public TouchTypeDetector(Context context, TouchTypListener touchTypListener) {
155
165
}
156
166
157
167
boolean onTouchEvent (MotionEvent event ) {
158
-
159
- switch (event .getActionMasked ()) {
160
- case MotionEvent .ACTION_POINTER_DOWN :
161
- if (event .getPointerCount () == 3 ) {
162
- touchTypListener .onThreeFingerSingleTap ();
163
- } else if (event .getPointerCount () == 2 ) {
164
- touchTypListener .onTwoFingerSingleTap ();
165
- }
168
+ if (event != null ) {
169
+ switch (event .getActionMasked ()) {
170
+ case MotionEvent .ACTION_POINTER_DOWN :
171
+ if (event .getPointerCount () == 3 ) {
172
+ touchTypListener .onThreeFingerSingleTap ();
173
+ } else if (event .getPointerCount () == 2 ) {
174
+ touchTypListener .onTwoFingerSingleTap ();
175
+ }
176
+ }
177
+ return gDetect .onTouchEvent (event );
178
+ } else {
179
+ return false ;
166
180
}
167
- return gDetect .onTouchEvent (event );
168
181
}
169
182
}
0 commit comments