MviBasePresenter.intent(Observable) and MviBasePresenter.subscribeViewState(Observable) are using Observable type. Should we also add MviBasePresenter.intent(Flowable) and MviBasePresenter.subscribeViewState(Flowable).
Having both is awkward. I think most UI related stuff is fine with "just" Observable and converting Flowable to Observable with Flowable.toObservable() should not be a problem.
Otherwise we should use Flowable only (instead of Observable).
Any thoughts? Any RxJava 2 experts that could help with their opinion?
I think you are on the right track, which is leaving the developer to handle Flowable.toObservable() and keeping mosby cleaner, by just providing the Observable return types. That being said, i am not super familiar with MVI, but have been using mosby (Thanks for your work!) for around 18 months or so.
Actually, I don't think that GUI will ever generate such number of events that will need handling backpressure, so imho Observable is good enough. That's even covered in the RxJava 2.0 docs here. Correct me please if there is some other scenario of feeding Presenter from view than simple GUI events. Anyway, if such exotic case exists, one could use Observable to Flowable conversion in this rare case. Well, that's exactly what previous posters said.
Thanks for your feedback @wrparrish and @mkoslacz . I will follow your advice and "only" support Observable type.