Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f71c93ff authored by Alan Viverette's avatar Alan Viverette Committed by Android Git Automerger
Browse files

am aeedef55: am da0d6a6b: Merge "Correctly handle intercepted touch events in...

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

* commit 'aeedef55':
  Correctly handle intercepted touch events in FastScroller
parents 128a2fa0 aeedef55
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -3638,12 +3638,9 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te

        startNestedScroll(SCROLL_AXIS_VERTICAL);

        if (mFastScroll != null) {
            boolean intercepted = mFastScroll.onTouchEvent(ev);
            if (intercepted) {
        if (mFastScroll != null && mFastScroll.onTouchEvent(ev)) {
            return true;
        }
        }

        initVelocityTrackerIfNotExists();
        final MotionEvent vtev = MotionEvent.obtain(ev);
+13 −1
Original line number Diff line number Diff line
@@ -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.