private void checkScrollState() {
        if (listView.getFirstVisiblePosition() != mLastFirstVisibleItem || (Math.abs(System.currentTimeMillis() - mLastScroll) < AUTO_DISABLE_ON_IDLE)) {
            listView.postDelayed(this::checkScrollState, AUTO_DISABLE_ON_IDLE);
        } else {
            listView.setFastScrollEnabled(false);
            listView.setFastScrollAlwaysVisible(false);
            mFlingStartPos = -1;
        }
    }
Tame default fast scroll behavior a bit:
- only activate fast scroll when in FLING mode, not in standard scroll mode;
- and only acticate after having covered a certain minimum amount of entries (3) in FLING mode
- automatically disable after a certain amount of time (1s) without scrolling
main/src/main/java/cgeo/geocaching/ui/FastScrollListener.java