'i get list as responce of retrofit but i want ListenableFuture in ListenableFuturePagingSource so what can I do ?, suggest any example for paging

i get list as responce of retrofit but i want ListenableFuture in ListenableFuturePagingSource so what can I do ?, suggest any example for paging using Guava with Livedata

public class DataPagingSource extends ListenableFuturePagingSource<Integer, DataListItem> {

@NonNull
private RetroService service;

public DataPagingSource(RetroService retroService) {
    this.service = retroService;
}

@Nullable
@Override
public Integer getRefreshKey(@NonNull PagingState<Integer, DataListItem> pagingState) {
    return null;
}

@NonNull
@Override
public ListenableFuture<LoadResult<Integer, DataListItem>> loadFuture(@NonNull LoadParams<Integer> loadParams) {

    Integer nextPageNumber = loadParams.getKey();
    if (nextPageNumber == null) {
        nextPageNumber = 1;
    }

    if (service.getRemoteListenableFutureDataList(nextPageNumber)!=null){
        ListenableFuture<LoadResult<Integer, DataListItem>> pageFuture =
                Futures.transform(service.getRemoteListenableFutureDataList(nextPageNumber), this::toLoadResult , directExecutor());

        ListenableFuture<LoadResult<Integer, DataListItem>> partialLoadResultFuture =
                Futures.catching(pageFuture, HttpException.class,
                        LoadResult.Error::new,directExecutor());
    }else {
        Log.i("krupal","data from service null");
    }
    return null;
}


private LoadResult<Integer, DataListItem> toLoadResult(@NonNull List<DataListItem> response) {
    return new LoadResult.Page<>(response,
            null, // Only paging forward.
            response.get(1).getPostId() + 1,
            LoadResult.Page.COUNT_UNDEFINED,
            LoadResult.Page.COUNT_UNDEFINED);
}

}



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source