У меня есть две услуги:
private Observable<UMapsResponse> requestToServiceGetMaps(int idVenue, String accessToken) {
return mService.getUMaps(idVenue, accessToken);
}
private Observable<UMap> requestToServiceGetMapImageUrl(int idVenue, int idMap, String accessToken) {
return mService.getUMap(idVenue, idMap, accessToken);
}
Итак, я объединил свои две службы так:
requestToServiceGetMaps(idVenue, accessToken)
.flatMap(uMapsResponse -> Observable.just(uMapsResponse.getIndoorMaps()))
.flatMapIterable(indoorMap -> indoorMap)
.flatMap(
indoorMap -> requestToServiceGetMapImageUrl(idVenue, indoorMap.getId(), accessToken),
(indoorMap, uMap) -> Log.i(TAG, "MapsItem: " + new MapsItem(indoorMap, uMap))
).toList()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SingleObserver<List<Integer>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(List<Integer> integers) {
}
@Override
public void onError(Throwable e) {
}
});
Итак, у меня есть 2 вопроса:
- Почему у меня есть список целых чисел в методе onSuccess?
- Как получить список MapsItem (indoorMap, uMap)?