Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32637cf9 authored by Adam Powell's avatar Adam Powell Committed by Android (Google) Code Review
Browse files

Merge "Recycle MotionEvents properly in GestureDetector"

parents bf31ed25 45f2ca7f
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -494,6 +494,9 @@ public class GestureDetector {

            mLastMotionX = x;
            mLastMotionY = y;
            if (mCurrentDownEvent != null) {
                mCurrentDownEvent.recycle();
            }
            mCurrentDownEvent = MotionEvent.obtain(ev);
            mAlwaysInTapRegion = true;
            mAlwaysInBiggerTapRegion = true;
@@ -562,10 +565,14 @@ public class GestureDetector {

                if ((Math.abs(velocityY) > mMinimumFlingVelocity)
                        || (Math.abs(velocityX) > mMinimumFlingVelocity)){
                    handled = mListener.onFling(mCurrentDownEvent, currentUpEvent, velocityX, velocityY);
                    handled = mListener.onFling(mCurrentDownEvent, ev, velocityX, velocityY);
                }
            }
            if (mPreviousUpEvent != null) {
                mPreviousUpEvent.recycle();
            }
            mPreviousUpEvent = MotionEvent.obtain(ev);
            // Hold the event we obtained above - listeners may have changed the original.
            mPreviousUpEvent = currentUpEvent;
            mVelocityTracker.recycle();
            mVelocityTracker = null;
            mIsDoubleTapping = false;