Вот пример кода с использованием rx на Kotlin
login()//need return Observable
.flatMap{ result->
//maby init calls observables
zip(firstCallObservable, secondObservable, thirdCallObservanle,fouthCallObservable){
first, second, third, fouth->
//do something with data
}}
.subscribeOn(Schedulers.io())
.observOn(AndroidSchedulers.mainThread())
.subscribe()
Разве логин не должен быть первым в соответствии с вопросом? Но он идет в правильном направлении, имо.
Возможный дубликат Rxjava Android как использовать Zip-оператор