diff --git a/app/src/main/java/androidx/recyclerview/widget/FastScrollerEx.java b/app/src/main/java/androidx/recyclerview/widget/FastScrollerEx.java index 5292e8d4de..0f1fd85a1c 100644 --- a/app/src/main/java/androidx/recyclerview/widget/FastScrollerEx.java +++ b/app/src/main/java/androidx/recyclerview/widget/FastScrollerEx.java @@ -464,12 +464,28 @@ public class FastScrollerEx extends RecyclerView.ItemDecoration implements Recyc int scrollbarLength = scrollbarRange[1] - scrollbarRange[0]; float percentage = (scrollbarLength == 0 ? 0 : y / (float) scrollbarLength); int pos = Math.round(count * percentage); - mRecyclerView.scrollToPosition(pos); + scrollTo = pos; + mRecyclerView.removeCallbacks(scroll); + mRecyclerView.postDelayed(scroll, 100); } mVerticalDragY = y; } + private int scrollTo; + + private final Runnable scroll = new Runnable() { + @Override + public void run() { + try { + eu.faircode.email.Log.i("Fast scroll to=" + scrollTo); + mRecyclerView.scrollToPosition(scrollTo); + } catch (Throwable ex) { + eu.faircode.email.Log.e(ex); + } + } + }; + private void horizontalScrollTo(float x) { final int[] scrollbarRange = getHorizontalRange(); x = Math.max(scrollbarRange[0], Math.min(scrollbarRange[1], x));