Я пытаюсь сделать таким образом цепочку наблюдателей
1 шаг (порядок здесь не важен, поэтому они могут выполняться одновременно)
Task_User_Login.run(); -> Completable
downloadListOfStreets(); -> Completable
2 Шаг должен быть выполнен ПОСЛЕ шага 1 (порядок внутри не важен, поэтому они могут выполняться одновременно, оба должны быть объединены)
downloadListOfProducts(); -> Observable<Object>
downloadListOfIngredients(); -> Observable<Object>
3 Шаг должен быть выполнен ПОСЛЕ шага 2
logoutDummySession(); -> Completable
EDIT
Я пробовал несколько вещей ... но я не могу понять, как заставить это работать. Это мой последний код
(Task_User_Login.run(AppConstants.defaultLoginParameters))
.andThen(downloadListOfStreets().doOnComplete(this::onStreetsDownloaded))
.andThen(Observable.merge(downloadListOfProducts(), downloadListOfIngredients()))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnNext(item -> updateItemsDownloaded())
.doOnError(error -> downloadCompleted.postValue(Response.error(error)))
.doOnComplete(() -> downloadCompleted.postValue(Response.success(null)))
.subscribe();
Теперь проблема в том, что мне нужно подождать, пока не будет сделан первый шаг, чтобы сделать следующий, а сейчас этого не происходит.
Любая помощь будет очень признательна.