diff options
author | Yorke Lee <yorkelee@google.com> | 2014-11-11 23:11:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-11-11 23:11:11 +0000 |
commit | 050e2a8d5aef356b7b7b35ab5242669dd7a79dfd (patch) | |
tree | 97b8753b5575d981c7172f7b62bfc688c195fa33 | |
parent | 942645871f85cf8868f5167c5d10f95083474e72 (diff) | |
parent | 35b889008044d7a47684e1043465124fbf65621d (diff) |
Merge "Fix IOOB exception in ViewDragHelper" into lmp-mr1-dev
-rw-r--r-- | src/com/android/dialer/widget/ViewDragHelper.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/com/android/dialer/widget/ViewDragHelper.java b/src/com/android/dialer/widget/ViewDragHelper.java index c0bc2ce29..fe3ab8230 100644 --- a/src/com/android/dialer/widget/ViewDragHelper.java +++ b/src/com/android/dialer/widget/ViewDragHelper.java @@ -21,6 +21,7 @@ import android.content.Context; import android.support.v4.view.MotionEventCompat; import android.support.v4.view.VelocityTrackerCompat; import android.support.v4.view.ViewCompat; +import android.util.Log; import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; @@ -1176,7 +1177,12 @@ public class ViewDragHelper { case MotionEvent.ACTION_MOVE: { if (mDragState == STATE_DRAGGING) { - final int index = MotionEventCompat.findPointerIndex(ev, mActivePointerId); + int index = MotionEventCompat.findPointerIndex(ev, mActivePointerId); + if (index < 0) { + Log.e(TAG, "Pointer index for id " + mActivePointerId + " not found." + + " Skipping MotionEvent"); + return; + } final float x = MotionEventCompat.getX(ev, index); final float y = MotionEventCompat.getY(ev, index); final int idx = (int) (x - mLastMotionX[mActivePointerId]); |