diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java index 582ef3f40d29a..484922ddd31f2 100644 --- a/core/java/android/view/ViewRoot.java +++ b/core/java/android/view/ViewRoot.java @@ -2241,7 +2241,8 @@ public final class ViewRoot extends Handler implements ViewParent, * leaving touch mode alone is considered the event). */ private boolean checkForLeavingTouchModeAndConsume(KeyEvent event) { - if (event.getAction() != KeyEvent.ACTION_DOWN) { + final int action = event.getAction(); + if (action != KeyEvent.ACTION_DOWN && action != KeyEvent.ACTION_MULTIPLE) { return false; } if ((event.getFlags()&KeyEvent.FLAG_KEEP_TOUCH_MODE) != 0) { diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index 5bded0b796599..a07397f4ff08d 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -1980,11 +1980,11 @@ public abstract class AbsListView extends AdapterView implements Te if (touchMode == TOUCH_MODE_OVERSCROLL || touchMode == TOUCH_MODE_OVERFLING) { if (mFlingRunnable != null) { mFlingRunnable.endFling(); - - if (mScrollY != 0) { - mScrollY = 0; - invalidate(); - } + } + + if (mScrollY != 0) { + mScrollY = 0; + invalidate(); } } }