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

Commit ee7e0efc authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am 59c4cb9e: Merge "DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread...

am 59c4cb9e: Merge "DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll" into gingerbread

Merge commit '59c4cb9e' into gingerbread-plus-aosp

* commit '59c4cb9e':
  DO NOT MERGE Fix bug 3001751 and bug 3001584 - Gingerbread API review for over-scroll
parents 65e8b476 59c4cb9e
Loading
Loading
Loading
Loading
+15 −15
Original line number Diff line number Diff line
@@ -6895,7 +6895,7 @@
 visibility="public"
>
</field>
<field name="overscrollFooter"
<field name="overScrollFooter"
 type="int"
 transient="false"
 volatile="false"
@@ -6906,7 +6906,7 @@
 visibility="public"
>
</field>
<field name="overscrollHeader"
<field name="overScrollHeader"
 type="int"
 transient="false"
 volatile="false"
@@ -6917,7 +6917,7 @@
 visibility="public"
>
</field>
<field name="overscrollMode"
<field name="overScrollMode"
 type="int"
 transient="false"
 volatile="false"
@@ -187697,7 +187697,7 @@
 visibility="public"
>
</method>
<method name="getOverscrollMode"
<method name="getOverScrollMode"
 return="int"
 abstract="false"
 native="false"
@@ -188861,7 +188861,7 @@
<parameter name="heightMeasureSpec" type="int">
</parameter>
</method>
<method name="onOverscrolled"
<method name="onOverScrolled"
 return="void"
 abstract="false"
 native="false"
@@ -189033,7 +189033,7 @@
<parameter name="visibility" type="int">
</parameter>
</method>
<method name="overscrollBy"
<method name="overScrollBy"
 return="boolean"
 abstract="false"
 native="false"
@@ -189055,9 +189055,9 @@
</parameter>
<parameter name="scrollRangeY" type="int">
</parameter>
<parameter name="maxOverscrollX" type="int">
<parameter name="maxOverScrollX" type="int">
</parameter>
<parameter name="maxOverscrollY" type="int">
<parameter name="maxOverScrollY" type="int">
</parameter>
<parameter name="isTouchEvent" type="boolean">
</parameter>
@@ -189901,7 +189901,7 @@
<parameter name="l" type="android.view.View.OnTouchListener">
</parameter>
</method>
<method name="setOverscrollMode"
<method name="setOverScrollMode"
 return="void"
 abstract="false"
 native="false"
@@ -189911,7 +189911,7 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="overscrollMode" type="int">
<parameter name="overScrollMode" type="int">
</parameter>
</method>
<method name="setPadding"
@@ -190536,7 +190536,7 @@
 visibility="public"
>
</field>
<field name="OVERSCROLL_ALWAYS"
<field name="OVER_SCROLL_ALWAYS"
 type="int"
 transient="false"
 volatile="false"
@@ -190547,7 +190547,7 @@
 visibility="public"
>
</field>
<field name="OVERSCROLL_IF_CONTENT_SCROLLS"
<field name="OVER_SCROLL_IF_CONTENT_SCROLLS"
 type="int"
 transient="false"
 volatile="false"
@@ -190558,7 +190558,7 @@
 visibility="public"
>
</field>
<field name="OVERSCROLL_NEVER"
<field name="OVER_SCROLL_NEVER"
 type="int"
 transient="false"
 volatile="false"
@@ -217777,7 +217777,7 @@
 visibility="public"
>
</method>
<method name="isOverscrolled"
<method name="isOverScrolled"
 return="boolean"
 abstract="false"
 native="false"
@@ -217822,7 +217822,7 @@
<parameter name="overY" type="int">
</parameter>
</method>
<method name="springback"
<method name="springBack"
 return="boolean"
 abstract="false"
 native="false"
+67 −67
Original line number Diff line number Diff line
@@ -1551,38 +1551,38 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
    private static final int AWAKEN_SCROLL_BARS_ON_ATTACH = 0x08000000;

    /**
     * Always allow a user to overscroll this view, provided it is a
     * Always allow a user to over-scroll this view, provided it is a
     * view that can scroll.
     *
     * @see #getOverscrollMode()
     * @see #setOverscrollMode(int)
     * @see #getOverScrollMode()
     * @see #setOverScrollMode(int)
     */
    public static final int OVERSCROLL_ALWAYS = 0;
    public static final int OVER_SCROLL_ALWAYS = 0;

    /**
     * Allow a user to overscroll this view only if the content is large
     * Allow a user to over-scroll this view only if the content is large
     * enough to meaningfully scroll, provided it is a view that can scroll.
     *
     * @see #getOverscrollMode()
     * @see #setOverscrollMode(int)
     * @see #getOverScrollMode()
     * @see #setOverScrollMode(int)
     */
    public static final int OVERSCROLL_IF_CONTENT_SCROLLS = 1;
    public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1;

    /**
     * Never allow a user to overscroll this view.
     * Never allow a user to over-scroll this view.
     *
     * @see #getOverscrollMode()
     * @see #setOverscrollMode(int)
     * @see #getOverScrollMode()
     * @see #setOverScrollMode(int)
     */
    public static final int OVERSCROLL_NEVER = 2;
    public static final int OVER_SCROLL_NEVER = 2;

    /**
     * Controls the overscroll mode for this view.
     * See {@link #overscrollBy(int, int, int, int, int, int, int, int, boolean)},
     * {@link #OVERSCROLL_ALWAYS}, {@link #OVERSCROLL_IF_CONTENT_SCROLLS},
     * and {@link #OVERSCROLL_NEVER}.
     * Controls the over-scroll mode for this view.
     * See {@link #overScrollBy(int, int, int, int, int, int, int, int, boolean)},
     * {@link #OVER_SCROLL_ALWAYS}, {@link #OVER_SCROLL_IF_CONTENT_SCROLLS},
     * and {@link #OVER_SCROLL_NEVER}.
     */
    private int mOverscrollMode;
    private int mOverScrollMode;

    /**
     * The parent this view is attached to.
@@ -1876,7 +1876,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
        // Used for debug only
        //++sInstanceCount;
        mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
        setOverscrollMode(OVERSCROLL_ALWAYS);
        setOverScrollMode(OVER_SCROLL_IF_CONTENT_SCROLLS);
    }

    /**
@@ -1942,7 +1942,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility

        int scrollbarStyle = SCROLLBARS_INSIDE_OVERLAY;

        int overscrollMode = mOverscrollMode;
        int overScrollMode = mOverScrollMode;
        final int N = a.getIndexCount();
        for (int i = 0; i < N; i++) {
            int attr = a.getIndex(i);
@@ -2148,13 +2148,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
                        });
                    }
                    break;
                case R.styleable.View_overscrollMode:
                    overscrollMode = a.getInt(attr, OVERSCROLL_ALWAYS);
                case R.styleable.View_overScrollMode:
                    overScrollMode = a.getInt(attr, OVER_SCROLL_IF_CONTENT_SCROLLS);
                    break;
            }
        }

        setOverscrollMode(overscrollMode);
        setOverScrollMode(overScrollMode);

        if (background != null) {
            setBackgroundDrawable(background);
@@ -8811,8 +8811,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
    /**
     * Scroll the view with standard behavior for scrolling beyond the normal
     * content boundaries. Views that call this method should override
     * {@link #onOverscrolled(int, int, boolean, boolean)} to respond to the
     * results of an overscroll operation.
     * {@link #onOverScrolled(int, int, boolean, boolean)} to respond to the
     * results of an over-scroll operation.
     *
     * Views can use this method to handle any touch or fling-based scrolling.
     *
@@ -8822,44 +8822,44 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
     * @param scrollY Current Y scroll value in pixels before applying deltaY
     * @param scrollRangeX Maximum content scroll range along the X axis
     * @param scrollRangeY Maximum content scroll range along the Y axis
     * @param maxOverscrollX Number of pixels to overscroll by in either direction
     * @param maxOverScrollX Number of pixels to overscroll by in either direction
     *          along the X axis.
     * @param maxOverscrollY Number of pixels to overscroll by in either direction
     * @param maxOverScrollY Number of pixels to overscroll by in either direction
     *          along the Y axis.
     * @param isTouchEvent true if this scroll operation is the result of a touch event.
     * @return true if scrolling was clamped to an overscroll boundary along either
     * @return true if scrolling was clamped to an over-scroll boundary along either
     *          axis, false otherwise.
     */
    protected boolean overscrollBy(int deltaX, int deltaY,
    protected boolean overScrollBy(int deltaX, int deltaY,
            int scrollX, int scrollY,
            int scrollRangeX, int scrollRangeY,
            int maxOverscrollX, int maxOverscrollY,
            int maxOverScrollX, int maxOverScrollY,
            boolean isTouchEvent) {
        final int overscrollMode = mOverscrollMode;
        final int overScrollMode = mOverScrollMode;
        final boolean canScrollHorizontal =
                computeHorizontalScrollRange() > computeHorizontalScrollExtent();
        final boolean canScrollVertical =
                computeVerticalScrollRange() > computeVerticalScrollExtent();
        final boolean overscrollHorizontal = overscrollMode == OVERSCROLL_ALWAYS ||
                (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && canScrollHorizontal);
        final boolean overscrollVertical = overscrollMode == OVERSCROLL_ALWAYS ||
                (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && canScrollVertical);
        final boolean overScrollHorizontal = overScrollMode == OVER_SCROLL_ALWAYS ||
                (overScrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && canScrollHorizontal);
        final boolean overScrollVertical = overScrollMode == OVER_SCROLL_ALWAYS ||
                (overScrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && canScrollVertical);

        int newScrollX = scrollX + deltaX;
        if (!overscrollHorizontal) {
            maxOverscrollX = 0;
        if (!overScrollHorizontal) {
            maxOverScrollX = 0;
        }

        int newScrollY = scrollY + deltaY;
        if (!overscrollVertical) {
            maxOverscrollY = 0;
        if (!overScrollVertical) {
            maxOverScrollY = 0;
        }

        // Clamp values if at the limits and record
        final int left = -maxOverscrollX;
        final int right = maxOverscrollX + scrollRangeX;
        final int top = -maxOverscrollY;
        final int bottom = maxOverscrollY + scrollRangeY;
        final int left = -maxOverScrollX;
        final int right = maxOverScrollX + scrollRangeX;
        final int top = -maxOverScrollY;
        final int bottom = maxOverScrollY + scrollRangeY;

        boolean clampedX = false;
        if (newScrollX > right) {
@@ -8879,55 +8879,55 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
            clampedY = true;
        }

        onOverscrolled(newScrollX, newScrollY, clampedX, clampedY);
        onOverScrolled(newScrollX, newScrollY, clampedX, clampedY);

        return clampedX || clampedY;
    }

    /**
     * Called by {@link #overscrollBy(int, int, int, int, int, int, int, int, boolean)} to
     * respond to the results of an overscroll operation.
     * Called by {@link #overScrollBy(int, int, int, int, int, int, int, int, boolean)} to
     * respond to the results of an over-scroll operation.
     *
     * @param scrollX New X scroll value in pixels
     * @param scrollY New Y scroll value in pixels
     * @param clampedX True if scrollX was clamped to an overscroll boundary
     * @param clampedY True if scrollY was clamped to an overscroll boundary
     * @param clampedX True if scrollX was clamped to an over-scroll boundary
     * @param clampedY True if scrollY was clamped to an over-scroll boundary
     */
    protected void onOverscrolled(int scrollX, int scrollY,
    protected void onOverScrolled(int scrollX, int scrollY,
            boolean clampedX, boolean clampedY) {
        // Intentionally empty.
    }

    /**
     * Returns the overscroll mode for this view. The result will be
     * one of {@link #OVERSCROLL_ALWAYS} (default), {@link #OVERSCROLL_IF_CONTENT_SCROLLS}
     * (allow overscrolling only if the view content is larger than the container),
     * or {@link #OVERSCROLL_NEVER}.
     * Returns the over-scroll mode for this view. The result will be
     * one of {@link #OVER_SCROLL_ALWAYS} (default), {@link #OVER_SCROLL_IF_CONTENT_SCROLLS}
     * (allow over-scrolling only if the view content is larger than the container),
     * or {@link #OVER_SCROLL_NEVER}.
     *
     * @return This view's overscroll mode.
     * @return This view's over-scroll mode.
     */
    public int getOverscrollMode() {
        return mOverscrollMode;
    public int getOverScrollMode() {
        return mOverScrollMode;
    }

    /**
     * Set the overscroll mode for this view. Valid overscroll modes are
     * {@link #OVERSCROLL_ALWAYS} (default), {@link #OVERSCROLL_IF_CONTENT_SCROLLS}
     * (allow overscrolling only if the view content is larger than the container),
     * or {@link #OVERSCROLL_NEVER}.
     * Set the over-scroll mode for this view. Valid over-scroll modes are
     * {@link #OVER_SCROLL_ALWAYS} (default), {@link #OVER_SCROLL_IF_CONTENT_SCROLLS}
     * (allow over-scrolling only if the view content is larger than the container),
     * or {@link #OVER_SCROLL_NEVER}.
     *
     * Setting the overscroll mode of a view will have an effect only if the
     * Setting the over-scroll mode of a view will have an effect only if the
     * view is capable of scrolling.
     *
     * @param overscrollMode The new overscroll mode for this view.
     * @param overScrollMode The new over-scroll mode for this view.
     */
    public void setOverscrollMode(int overscrollMode) {
        if (overscrollMode != OVERSCROLL_ALWAYS &&
                overscrollMode != OVERSCROLL_IF_CONTENT_SCROLLS &&
                overscrollMode != OVERSCROLL_NEVER) {
            throw new IllegalArgumentException("Invalid overscroll mode " + overscrollMode);
    public void setOverScrollMode(int overScrollMode) {
        if (overScrollMode != OVER_SCROLL_ALWAYS &&
                overScrollMode != OVER_SCROLL_IF_CONTENT_SCROLLS &&
                overScrollMode != OVER_SCROLL_NEVER) {
            throw new IllegalArgumentException("Invalid overscroll mode " + overScrollMode);
        }
        mOverscrollMode = overscrollMode;
        mOverScrollMode = overScrollMode;
    }

    /**
+12 −12
Original line number Diff line number Diff line
@@ -1043,9 +1043,9 @@ public class WebView extends AbsoluteLayout
    }

    @Override
    public void setOverscrollMode(int mode) {
        super.setOverscrollMode(mode);
        if (mode != OVERSCROLL_NEVER) {
    public void setOverScrollMode(int mode) {
        super.setOverScrollMode(mode);
        if (mode != OVER_SCROLL_NEVER) {
            if (mEdgeGlowTop == null) {
                final Resources res = getContext().getResources();
                final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
@@ -2565,7 +2565,7 @@ public class WebView extends AbsoluteLayout
    }

    @Override
    protected void onOverscrolled(int scrollX, int scrollY, boolean clampedX,
    protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX,
            boolean clampedY) {
        mInOverScrollMode = false;
        int maxX = computeMaxScrollX();
@@ -2942,12 +2942,12 @@ public class WebView extends AbsoluteLayout
            if (oldX != x || oldY != y) {
                final int rangeX = computeMaxScrollX();
                final int rangeY = computeMaxScrollY();
                overscrollBy(x - oldX, y - oldY, oldX, oldY,
                overScrollBy(x - oldX, y - oldY, oldX, oldY,
                        rangeX, rangeY,
                        mOverflingDistance, mOverflingDistance, false);

                if (mEdgeGlowTop != null) {
                    if (rangeY > 0 || getOverscrollMode() == OVERSCROLL_ALWAYS) {
                    if (rangeY > 0 || getOverScrollMode() == OVER_SCROLL_ALWAYS) {
                        if (y < 0 && oldY >= 0) {
                            mEdgeGlowTop.onAbsorb((int) mScroller.getCurrVelocity());
                            if (!mEdgeGlowBottom.isFinished()) {
@@ -5467,7 +5467,7 @@ public class WebView extends AbsoluteLayout
                            doFling();
                            break;
                        } else {
                            if (mScroller.springback(mScrollX, mScrollY, 0,
                            if (mScroller.springBack(mScrollX, mScrollY, 0,
                                    computeMaxScrollX(), 0,
                                    computeMaxScrollY())) {
                                invalidate();
@@ -5491,7 +5491,7 @@ public class WebView extends AbsoluteLayout
            }
            case MotionEvent.ACTION_CANCEL: {
                if (mTouchMode == TOUCH_DRAG_MODE) {
                    mScroller.springback(mScrollX, mScrollY, 0,
                    mScroller.springBack(mScrollX, mScrollY, 0,
                            computeMaxScrollX(), 0, computeMaxScrollY());
                    invalidate();
                }
@@ -5560,7 +5560,7 @@ public class WebView extends AbsoluteLayout
            final int oldY = mScrollY;
            final int rangeX = computeMaxScrollX();
            final int rangeY = computeMaxScrollY();
            overscrollBy(deltaX, deltaY, oldX, oldY,
            overScrollBy(deltaX, deltaY, oldX, oldY,
                    rangeX, rangeY,
                    mOverscrollDistance, mOverscrollDistance, true);

@@ -5581,7 +5581,7 @@ public class WebView extends AbsoluteLayout
                    }
                }

                if (rangeY > 0 || getOverscrollMode() == OVERSCROLL_ALWAYS) {
                if (rangeY > 0 || getOverScrollMode() == OVER_SCROLL_ALWAYS) {
                    final int pulledToY = oldY + deltaY;
                    if (pulledToY < 0) {
                        mEdgeGlowTop.onPull((float) deltaY / getHeight());
@@ -6000,7 +6000,7 @@ public class WebView extends AbsoluteLayout
        if ((maxX == 0 && vy == 0) || (maxY == 0 && vx == 0)) {
            WebViewCore.resumePriority();
            WebViewCore.resumeUpdatePicture(mWebViewCore);
            if (mScroller.springback(mScrollX, mScrollY, 0, computeMaxScrollX(),
            if (mScroller.springBack(mScrollX, mScrollY, 0, computeMaxScrollX(),
                    0, computeMaxScrollY())) {
                invalidate();
            }
@@ -7106,7 +7106,7 @@ public class WebView extends AbsoluteLayout
                            case MotionEvent.ACTION_CANCEL:
                                if (mDeferTouchMode == TOUCH_DRAG_MODE) {
                                    // no fling in defer process
                                    mScroller.springback(mScrollX, mScrollY, 0,
                                    mScroller.springBack(mScrollX, mScrollY, 0,
                                            computeMaxScrollX(), 0,
                                            computeMaxScrollY());
                                    invalidate();
+18 −18
Original line number Diff line number Diff line
@@ -647,8 +647,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
    }

    @Override
    public void setOverscrollMode(int mode) {
        if (mode != OVERSCROLL_NEVER) {
    public void setOverScrollMode(int mode) {
        if (mode != OVER_SCROLL_NEVER) {
            if (mEdgeGlowTop == null) {
                final Resources res = getContext().getResources();
                final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
@@ -660,7 +660,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
            mEdgeGlowTop = null;
            mEdgeGlowBottom = null;
        }
        super.setOverscrollMode(mode);
        super.setOverScrollMode(mode);
    }

    /**
@@ -2232,16 +2232,16 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te

                            int overscroll = -incrementalDeltaY -
                                    (motionViewRealTop - motionViewPrevTop);
                            overscrollBy(0, overscroll, 0, mScrollY, 0, 0,
                            overScrollBy(0, overscroll, 0, mScrollY, 0, 0,
                                    0, mOverscrollDistance, true);
                            if (Math.abs(mOverscrollDistance) == Math.abs(mScrollY)) {
                                // Don't allow overfling if we're at the edge.
                                mVelocityTracker.clear();
                            }

                            final int overscrollMode = getOverscrollMode();
                            if (overscrollMode == OVERSCROLL_ALWAYS ||
                                    (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS &&
                            final int overscrollMode = getOverScrollMode();
                            if (overscrollMode == OVER_SCROLL_ALWAYS ||
                                    (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS &&
                                            !contentFits())) {
                                mDirection = 0; // Reset when entering overscroll.
                                mTouchMode = TOUCH_MODE_OVERSCROLL;
@@ -2299,11 +2299,11 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
                            mMotionPosition = motionPosition;
                        }
                    } else {
                        overscrollBy(0, -incrementalDeltaY, 0, mScrollY, 0, 0,
                        overScrollBy(0, -incrementalDeltaY, 0, mScrollY, 0, 0,
                                0, mOverscrollDistance, true);
                        final int overscrollMode = getOverscrollMode();
                        if (overscrollMode == OVERSCROLL_ALWAYS ||
                                (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS &&
                        final int overscrollMode = getOverScrollMode();
                        if (overscrollMode == OVER_SCROLL_ALWAYS ||
                                (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS &&
                                        !contentFits())) {
                            if (rawDeltaY > 0) {
                                mEdgeGlowTop.onPull((float) -incrementalDeltaY / getHeight());
@@ -2542,7 +2542,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
    }

    @Override
    protected void onOverscrolled(int scrollX, int scrollY,
    protected void onOverScrolled(int scrollX, int scrollY,
            boolean clampedX, boolean clampedY) {
        mScrollY = scrollY;

@@ -2767,7 +2767,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
        }

        void startSpringback() {
            if (mScroller.springback(0, mScrollY, 0, 0, 0, 0)) {
            if (mScroller.springBack(0, mScrollY, 0, 0, 0, 0)) {
                mTouchMode = TOUCH_MODE_OVERFLING;
                invalidate();
                post(this);
@@ -2787,9 +2787,9 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te

        void edgeReached(int delta) {
            mScroller.notifyVerticalEdgeReached(mScrollY, 0, mOverflingDistance);
            final int overscrollMode = getOverscrollMode();
            if (overscrollMode == OVERSCROLL_ALWAYS ||
                    (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS && !contentFits())) {
            final int overscrollMode = getOverScrollMode();
            if (overscrollMode == OVER_SCROLL_ALWAYS ||
                    (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && !contentFits())) {
                mTouchMode = TOUCH_MODE_OVERFLING;
                final int vel = (int) mScroller.getCurrVelocity();
                if (delta > 0) {
@@ -2875,7 +2875,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
                    if (motionView != null) {
                        // Tweak the scroll for how far we overshot
                        int overshoot = -(delta - (motionView.getTop() - oldTop));
                        overscrollBy(0, overshoot, 0, mScrollY, 0, 0,
                        overScrollBy(0, overshoot, 0, mScrollY, 0, 0,
                                0, mOverflingDistance, false);
                    }
                    edgeReached(delta);
@@ -2904,7 +2904,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
                if (scroller.computeScrollOffset()) {
                    final int scrollY = mScrollY;
                    final int deltaY = scroller.getCurrY() - scrollY;
                    if (overscrollBy(0, deltaY, 0, scrollY, 0, 0,
                    if (overScrollBy(0, deltaY, 0, scrollY, 0, 0,
                            0, mOverflingDistance, false)) {
                        startSpringback();
                    } else {
+16 −16

File changed.

Preview size limit exceeded, changes collapsed.

Loading