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

Commit 106950f2 authored by Mindy Pereira's avatar Mindy Pereira Committed by Android (Google) Code Review
Browse files

Merge "DO NOT MERGE. Fix logic for switching between overscroll and scroll modes." into gingerbread

parents d8f1a540 e6c47472
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -520,6 +520,11 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
     */
    private int mLastPositionDistanceGuess;

    /**
     * Used for determining when to cancel out of overscroll.
     */
    private int mDirection = 0;

    /**
     * Interface definition for a callback to be invoked when the list or grid
     * has been scrolled.
@@ -2238,6 +2243,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
                            if (overscrollMode == OVERSCROLL_ALWAYS ||
                                    (overscrollMode == OVERSCROLL_IF_CONTENT_SCROLLS &&
                                            !contentFits())) {
                                mDirection = 0; // Reset when entering overscroll.
                                mTouchMode = TOUCH_MODE_OVERSCROLL;
                                if (rawDeltaY > 0) {
                                    mEdgeGlowTop.onPull((float) overscroll / getHeight());
@@ -2261,9 +2267,13 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te

                    final int oldScroll = mScrollY;
                    final int newScroll = oldScroll - incrementalDeltaY;
                    int newDirection = y > mLastY ? 1 : -1;

                    if (mDirection == 0) {
                        mDirection = newDirection;
                    }

                    if ((oldScroll >= 0 && newScroll <= 0) ||
                            (oldScroll <= 0 && newScroll >= 0)) {
                    if (mDirection != newDirection) {
                        // Coming back to 'real' list scrolling
                        incrementalDeltaY = -newScroll;
                        mScrollY = 0;
@@ -2308,6 +2318,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
                        }
                    }
                    mLastY = y;
                    mDirection = newDirection;
                }
                break;
            }
+1 −1
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ public class EdgeGlow {

    // How much dragging should effect the height of the glow image.
    // Number determined by user testing.
    private static final int PULL_DISTANCE_GLOW_FACTOR = 10;
    private static final int PULL_DISTANCE_GLOW_FACTOR = 5;

    private static final int VELOCITY_EDGE_FACTOR = 8;
    private static final int VELOCITY_GLOW_FACTOR = 16;