Argumento de tipo explícito Kotlin y RxJava

¿Es esta la única forma posible de usar la compose de ThreadTransformer con ThreadTransformer en Kotlin? Simplemente no me gusta la parte <MyType> en la function de compose . ¿Es posible omitirlo?

  override fun call(): Observable<MyType> { return Observable.just(getData()) .compose(threadTransformer.applySchedulers<MyType>()) } 

Observable.compose es una solución para la falta de funciones de extensión en Java. No es necesario utilizar Observable.compose en Kotlin porque admite funciones de extensión Observable.compose para usar:

 // default schedulers fun <T> Observable<T>.applySchedulers(): Observable<T> { return subscribeOn(Schedulers.computation()).observeOn(AndroidSchedulers.mainThread()) } // custom transformer fun <T> Observable<T>.applySchedulers(transformer: ThreadTransformer): Observable<T> { return compose(transformer.applySchedulers<T>()) } override fun call(): Observable<MyType> { return Observable.just(getData()).applySchedulers() } 

Basado en la respuesta de Vladimir Mironov. Extienda esto a sus necesidades:

 //Observable fun <T> Observable<T>.applyIoScheduler() = applyScheduler(Schedulers.io()) fun <T> Observable<T>.applyComputationScheduler() = applyScheduler(Schedulers.computation()) private fun <T> Observable<T>.applyScheduler(scheduler: Scheduler) = subscribeOn(scheduler).observeOn(AndroidSchedulers.mainThread()) //Single fun <T> Single<T>.applyIoScheduler() = applyScheduler(Schedulers.io()) fun <T> Single<T>.applyComputationScheduler() = applyScheduler(Schedulers.computation()) private fun <T> Single<T>.applyScheduler(scheduler: Scheduler) = subscribeOn(scheduler).observeOn(AndroidSchedulers.mainThread()) //Completable //.. 
  • Cambios en el valor de ObservableField no propagados
  • Filter rxjava no funciona
  • ¿Por qué mi configuration de RxJava está bloqueando mi subprocess de interfaz de usuario? Trabajar con la callback BluetoothAdapter.startLeScan
  • Usando RxJava con Handler, restablece Message.what value
  • RxJava: cómo devolver el tipo correcto de nulo
  • Temporizador RxJava2 y combinar
  • Combinando los resultados de múltiples observables
  • RxKotlin: tratando de agregar errores personalizados capturando
  • RXJava ... emiten un observable cada segundo
  • Kotlin: cómo henetworkingar del suscriptor de RxJava
  • Modelo lleno con respuesta extra usando Rx