runSafeOnMain

fun <T : Any> Observable<T>.runSafeOnMain(subscribeOn: Scheduler = newThreadScheduler): Observable<T>

observe on main thread subscribe on new thread unsubsidised on error and on complete and removes the need to handle it afterwards


fun <T : Any> Flowable<T>.runSafeOnMain(subscribeOn: Scheduler = newThreadScheduler): Flowable<T>
fun <T : Any> Single<T>.runSafeOnMain(subscribeOn: Scheduler = newThreadScheduler): Single<T>
fun Completable.runSafeOnMain(subscribeOn: Scheduler = newThreadScheduler): Completable
fun <T : Any> Maybe<T>.runSafeOnMain(subscribeOn: Scheduler = newThreadScheduler): Maybe<T>