Observable<List<Dev>> observable = Observable
.create(new Observable.OnSubscribe<List<TestResponse<List<Dev>>>>() {
@Override
public void call(Subscriber<? super List<TestResponse<List<Dev>>>> subscriber) {
}
})
.map(new Func1<List<TestResponse<List<Dev>>>, TestResponse<List<Dev>>>() {
@Override
public TestResponse<List<Dev>> call(List<TestResponse<List<Dev>>> testResponses) {
return testResponses.get(0);
}
})
.flatMap(new Func1<TestResponse<List<Dev>>, Observable<List<Dev>>>() {
@Override
public Observable<List<Dev>> call(final TestResponse<List<Dev>> listTestResponse) {
return Observable.create(new Observable.OnSubscribe<List<Dev>>() {
@Override
public void call(Subscriber<? super List<Dev>> subscriber) {
if (listTestResponse.getData().isEmpty()) {
subscriber.onError(new IOException(""));
}
subscriber.onNext(listTestResponse.getData());
subscriber.onCompleted();
}
});
}
});