am da0d6a6b: Merge "Correctly handle intercepted touch events in FastScroller" into mnc-dev

* commit 'da0d6a6b8ac0a3feaf276d462ed5121df37da2aa':
  Correctly handle intercepted touch events in FastScroller
This commit is contained in:
Alan Viverette
2015-05-01 18:36:58 +00:00
committed by Android Git Automerger
2 changed files with 15 additions and 6 deletions

View File

@@ -3638,11 +3638,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
startNestedScroll(SCROLL_AXIS_VERTICAL);
if (mFastScroll != null) {
boolean intercepted = mFastScroll.onTouchEvent(ev);
if (intercepted) {
return true;
}
if (mFastScroll != null && mFastScroll.onTouchEvent(ev)) {
return true;
}
initVelocityTrackerIfNotExists();

View File

@@ -1389,7 +1389,8 @@ class FastScroller {
// to intercept events. If it does, we will receive a CANCEL
// event.
if (!mList.isInScrollingContainer()) {
beginDrag();
// This will get dispatched to onTouchEvent(). Start
// dragging there.
return true;
}
@@ -1406,6 +1407,8 @@ class FastScroller {
final float pos = getPosFromMotionEvent(mInitialTouchY);
scrollTo(pos);
// This may get dispatched to onTouchEvent(), but it
// doesn't really matter since we'll already be in a drag.
return onTouchEvent(ev);
}
break;
@@ -1440,6 +1443,15 @@ class FastScroller {
}
switch (me.getActionMasked()) {
case MotionEvent.ACTION_DOWN: {
if (isPointInside(me.getX(), me.getY())) {
if (!mList.isInScrollingContainer()) {
beginDrag();
return true;
}
}
} break;
case MotionEvent.ACTION_UP: {
if (mPendingDrag >= 0) {
// Allow a tap to scroll.