Consumer<List<MaintenanceMap>> next = (List<MaintenanceMap> result) -> {
if (view != null) {
view.onGetMapList(true, result, "");
}
};
Consumer<Throwable> throwable = e -> {
if (view != null) {
view.onGetMapList(false, null, e.getMessage());
}
};
Disposable disposable =Network.checkNetwork(context, Network.getApis().getMapMaintenance(filter))
.compose(Network.check())
.compose(Network.nullCheck())
.flatMap(maintenanceMaps -> Observable.fromIterable(maintenanceMaps))
.flatMap(maintenanceMap -> Network.checkNetwork(context, Network.getApis().getDaily(maintenanceMap.getDailymaintainId()))
.compose(Network.check())
.flatMap(basicInformation -> {
maintenanceMap.setBrandchBureauName(basicInformation.getBrandchBureauName());
maintenanceMap.setStationIdName(basicInformation.getStationIdName());
return Observable.just(maintenanceMap);
}))
.toList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(next, throwable);