Cómo implementar Paginate una consulta en Android Firestore [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo paginar Firestore con Android? 2 respuestas

Sobre trabajar para aprender firebase firestore para un ejemplo de GitHubaplicación amigable comer

Pensé implementar la paginación para limitar los nodos para 10

privado estático int int LIMIT = 10;

en la aplicación de ejemplo de firestore, el adaptador de mAda carga datos / nodos como se muestra a continuación

mFirestore = FirebaseFirestore.getInstance();

    // Get ${LIMIT} restaurants
    mQuery = mFirestore.collection("restaurants")
            .orderBy("avgRating", Query.Direction.DESCENDING)
            .limit(LIMIT);

    // RecyclerView
    mAdapter = new RestaurantAdapter(mQuery, this) {
        @Override
        protected void onDataChanged() {
            // Show/hide content if the query returns empty.
            if (getItemCount() == 0) {
                mRestaurantsRecycler.setVisibility(View.GONE);
                mEmptyView.setVisibility(View.VISIBLE);
            } else {
                mRestaurantsRecycler.setVisibility(View.VISIBLE);
                mEmptyView.setVisibility(View.GONE);
            }
        }

        @Override
        protected void onError(FirebaseFirestoreException e) {
            // Show a snackbar on errors
            Snackbar.make(findViewById(android.R.id.content),
                    "Error: check logs for info.", Snackbar.LENGTH_LONG).show();
        }
    };

    mRestaurantsRecycler.setLayoutManager(new LinearLayoutManager(this));
    mRestaurantsRecycler.setAdapter(mAdapter);

    // Filter Dialog
    mFilterDialog = new FilterDialogFragment();
}

y

@Override
public void onStart() {
    super.onStart();

    // Start sign in if necessary
    if (shouldStartSignIn()) {
        startSignIn();
        return;
    }

    // Apply filters
    onFilter(mViewModel.getFilters());

    // Start listening for Firestore updates
    if (mAdapter != null) {
        mAdapter.startListening();
    }
}

en los documentos de Firestore dice que va a paginar

// Construct query for first 25 cities, ordered by population
    Query first = db.collection("cities")
            .orderBy("population")
            .limit(25);

    first.get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot documentSnapshots) {
                    // ...

                    // Get the last visible document
                    DocumentSnapshot lastVisible = 
                    documentSnapshots.getDocuments()
                            .get(documentSnapshots.size() -1);

                    // Construct a new query starting at this document,
                    // get the next 25 cities.
                    Query next = db.collection("cities")
                            .orderBy("population")
                            .startAfter(lastVisible)
                            .limit(25);

                    // Use the query for pagination
                    // ...
                }
            });

combinando los códigos anteriores, ¿cómo debo implementar paginate para cargar más de 10 nodos para cargar cuando me desplazo hasta la parte inferior de la vista del reciclador?

// Usa la consulta para paginación

// ...

Actualizar: Estoy trabajando basado en el documento de Firestore sobreConsulta paginada y mirando unposible duplicado de otra pregunta No pude hacerlo trabajando

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta