I am making a retrofit POST request using Paging library. When the first page is loaded the next page is automatically called. But when it comes to the last page (assume page 5), it requests for page 6, then on response the app crash with error
java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()'
on a null object reference
when it queries for page 6, from my LogCat, an HTTP response is OK with Content length 0. But when i do checking it crashes
//...code
private final ReplaySubject<Rating> ratingReplaySubject;
//...code
@Override
public void onResponse(Call<ArrayList<Rating>> call, Response<ArrayList<Rating>> response) {
if (response.isSuccessful()) {
callback.onResult(response.body(), Integer.toString(page.get()+1));
mutableLiveData.postValue(NetworkState.LOADED);
//First i tried this,
//response.body().forEach(ratingReplaySubject::onNext);
//Then I tried this,
//ArrayList<Rating> ratingArrayList = new ArrayList<>();
//ratingArrayList = response.body();
//if(ratingArrayList == null && !ratingArrayList.isEmpty()){
// for(int i=0; i<ratingArrayList.size(); i++){
// ratingReplaySubject.onNext(ratingArrayList.get(i));
// }
//}
} else {
mutableLiveData.postValue(new NetworkState(NetworkState.Status.FAILED, response.message()));
Log.e("API CALL", response.message());
}
}