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:
@@ -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();
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user