private void flingWithNestedDispatch(int velocityY) {
        final int scrollY = getScrollY();
        final boolean canFling = (scrollY > 0 || velocityY > 0)
                && (scrollY < getScrollRange() || velocityY < 0);
        if (!dispatchNestedPreFling(0, velocityY)) {
            dispatchNestedFling(0, velocityY, canFling);
            if (canFling) {
                fling(velocityY);
            }
        }
    }
Fling the scroll view

@param velocityY The initial velocity in the Y direction. Positive
                 numbers mean that the finger/cursor is moving down the screen,
                 which means we want to scroll towards the top.
app/src/main/java/home/smart/fly/animations/widget/NestedScrollView.java