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

Commit 299acb58 authored by Marc Blank's avatar Marc Blank
Browse files

Don't stop FlingRunnable when deltaY is rounded to zero

Change-Id: I6558d1b2e392c741108ca13da83351eadbce0824
parent e6aaa3da
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ import android.util.Log;
import android.util.LongSparseArray;
import android.util.SparseBooleanArray;
import android.view.ActionMode;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Gravity;
import android.view.HapticFeedbackConstants;
import android.view.KeyEvent;
@@ -51,6 +50,7 @@ import android.view.ViewConfiguration;
import android.view.ViewDebug;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.inputmethod.BaseInputConnection;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
@@ -2916,7 +2916,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
                    delta = Math.max(-(getHeight() - mPaddingBottom - mPaddingTop - 1), delta);
                }

                final boolean atEnd = trackMotionScroll(delta, delta);
                // Don't stop just because delta is zero (it could have been rounded)
                final boolean atEnd = trackMotionScroll(delta, delta) && (delta != 0);

                if (more && !atEnd) {
                    invalidate();
@@ -3353,8 +3354,11 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
        } else {
            mFlingRunnable.endFling();
        }
        // No sense starting to scroll if we're not going anywhere
        if (distance != 0) {
            mFlingRunnable.startScroll(distance, duration);
        }
    }

    /**
     * Allows RemoteViews to scroll relatively to a position.