Is it possible to implement something like next chaining using RxJava:
loginObservable()
.then( (someData) -> {
// returns another Observable<
Sure, RxJava supports .map which does this. From the RxJava Wiki:

Basically, it'd be:
loginObservable()
.switchMap( someData -> fetchUserDataObservable(someData) )
.map( userData -> cacheUserData(userData) )
.subscribe(new Subscriber() {
@Override
public void onCompleted() {
// observable stream has ended - no more logins possible
}
@Override
public void onError(Throwable e) {
// do something
}
@Override
public void onNext(YourType yourType) {
displayUserData();
}
});