Loading core/java/android/widget/AbsListView.java +21 −3 Original line number Diff line number Diff line Loading @@ -3241,6 +3241,27 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te mLastY = y; break; } case MotionEvent.ACTION_POINTER_DOWN: { // New pointers take over dragging duties final int index = ev.getActionIndex(); final int id = ev.getPointerId(index); final int x = (int) ev.getX(index); final int y = (int) ev.getY(index); mMotionCorrection = 0; mActivePointerId = id; mMotionX = x; mMotionY = y; final int motionPosition = pointToPosition(x, y); if (motionPosition >= 0) { // Remember where the motion event started v = getChildAt(motionPosition - mFirstPosition); mMotionViewOriginalTop = v.getTop(); mMotionPosition = motionPosition; } mLastY = y; break; } } return true; Loading Loading @@ -3412,9 +3433,6 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te mMotionY = (int) ev.getY(newPointerIndex); mMotionCorrection = 0; mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } } Loading core/java/android/widget/HorizontalScrollView.java +8 −0 Original line number Diff line number Diff line Loading @@ -475,8 +475,16 @@ public class HorizontalScrollView extends FrameLayout { invalidate(); } break; case MotionEvent.ACTION_POINTER_DOWN: { final int index = ev.getActionIndex(); final float x = ev.getX(index); mLastMotionX = x; mActivePointerId = ev.getPointerId(index); break; } case MotionEvent.ACTION_POINTER_UP: onSecondaryPointerUp(ev); mLastMotionX = ev.getX(ev.findPointerIndex(mActivePointerId)); break; } Loading core/java/android/widget/ScrollView.java +8 −0 Original line number Diff line number Diff line Loading @@ -607,8 +607,16 @@ public class ScrollView extends FrameLayout { endDrag(); } break; case MotionEvent.ACTION_POINTER_DOWN: { final int index = ev.getActionIndex(); final float y = ev.getY(index); mLastMotionY = y; mActivePointerId = ev.getPointerId(index); break; } case MotionEvent.ACTION_POINTER_UP: onSecondaryPointerUp(ev); mLastMotionY = ev.getY(ev.findPointerIndex(mActivePointerId)); break; } return true; Loading Loading
core/java/android/widget/AbsListView.java +21 −3 Original line number Diff line number Diff line Loading @@ -3241,6 +3241,27 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te mLastY = y; break; } case MotionEvent.ACTION_POINTER_DOWN: { // New pointers take over dragging duties final int index = ev.getActionIndex(); final int id = ev.getPointerId(index); final int x = (int) ev.getX(index); final int y = (int) ev.getY(index); mMotionCorrection = 0; mActivePointerId = id; mMotionX = x; mMotionY = y; final int motionPosition = pointToPosition(x, y); if (motionPosition >= 0) { // Remember where the motion event started v = getChildAt(motionPosition - mFirstPosition); mMotionViewOriginalTop = v.getTop(); mMotionPosition = motionPosition; } mLastY = y; break; } } return true; Loading Loading @@ -3412,9 +3433,6 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te mMotionY = (int) ev.getY(newPointerIndex); mMotionCorrection = 0; mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } } Loading
core/java/android/widget/HorizontalScrollView.java +8 −0 Original line number Diff line number Diff line Loading @@ -475,8 +475,16 @@ public class HorizontalScrollView extends FrameLayout { invalidate(); } break; case MotionEvent.ACTION_POINTER_DOWN: { final int index = ev.getActionIndex(); final float x = ev.getX(index); mLastMotionX = x; mActivePointerId = ev.getPointerId(index); break; } case MotionEvent.ACTION_POINTER_UP: onSecondaryPointerUp(ev); mLastMotionX = ev.getX(ev.findPointerIndex(mActivePointerId)); break; } Loading
core/java/android/widget/ScrollView.java +8 −0 Original line number Diff line number Diff line Loading @@ -607,8 +607,16 @@ public class ScrollView extends FrameLayout { endDrag(); } break; case MotionEvent.ACTION_POINTER_DOWN: { final int index = ev.getActionIndex(); final float y = ev.getY(index); mLastMotionY = y; mActivePointerId = ev.getPointerId(index); break; } case MotionEvent.ACTION_POINTER_UP: onSecondaryPointerUp(ev); mLastMotionY = ev.getY(ev.findPointerIndex(mActivePointerId)); break; } return true; Loading