Como determinar se um NestedScrollView é rolado até o final e está ocioso?

Tentei isso:

NestedScrollView ns =(NestedScrollView) findViewById(R.id.nested_scroll);
        ns.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
            @Override
            public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {

            }
        });

Mas ficou preso, alguém tem uma ideia?

Apenas para esclarecer o que eu quero - eu quero poder observar o estado da rolagem (como em addOnScrollListener do RecyclerView) e verificar apenas uma vez, quando a rolagem terminar (ociosa), se o usuário rolou para o final do NestedScrollView.

questionAnswers(2)

yourAnswerToTheQuestion