Fix NullPointerException in GestureDetector

NPE can be thrown from GestureDetector on GestureDetector#cancel which
can crash an app as VelocityTracker object is not checked for null
before calling VelocityTracker#recycle.
This change fixes the issue by checking for null VelocityTracker before
calling VelocityTracker#recycle on GestureDetector#cancel.

Test: Precautionary fix to prevent crashes, no test was run

Change-Id: I805ac4a19fbd766a9d0f17732b158f1d1e61aae6
This commit is contained in:
Arnab Sen
2023-04-27 19:31:07 +05:30
parent 62434fd9fe
commit c5171f785c

View File

@@ -839,8 +839,10 @@ public class GestureDetector {
mHandler.removeMessages(SHOW_PRESS);
mHandler.removeMessages(LONG_PRESS);
mHandler.removeMessages(TAP);
mVelocityTracker.recycle();
mVelocityTracker = null;
if (mVelocityTracker != null) {
mVelocityTracker.recycle();
mVelocityTracker = null;
}
mIsDoubleTapping = false;
mStillDown = false;
mAlwaysInTapRegion = false;