Try to clarify the code

This commit is contained in:
Benoit Marty 2020-12-02 12:38:07 +01:00
parent 42bc4d2445
commit cc5264a587
1 changed files with 10 additions and 10 deletions

View File

@ -21,34 +21,34 @@ import org.matrix.android.sdk.api.util.Cancelable
import io.reactivex.Completable import io.reactivex.Completable
import io.reactivex.Single import io.reactivex.Single
fun <T> singleBuilder(builder: (callback: MatrixCallback<T>) -> Cancelable): Single<T> = Single.create { fun <T> singleBuilder(builder: (MatrixCallback<T>) -> Cancelable): Single<T> = Single.create { emitter ->
val callback: MatrixCallback<T> = object : MatrixCallback<T> { val callback = object : MatrixCallback<T> {
override fun onSuccess(data: T) { override fun onSuccess(data: T) {
it.onSuccess(data) emitter.onSuccess(data)
} }
override fun onFailure(failure: Throwable) { override fun onFailure(failure: Throwable) {
it.tryOnError(failure) emitter.tryOnError(failure)
} }
} }
val cancelable = builder(callback) val cancelable = builder(callback)
it.setCancellable { emitter.setCancellable {
cancelable.cancel() cancelable.cancel()
} }
} }
fun <T> completableBuilder(builder: (callback: MatrixCallback<T>) -> Cancelable): Completable = Completable.create { fun <T> completableBuilder(builder: (MatrixCallback<T>) -> Cancelable): Completable = Completable.create { emitter ->
val callback: MatrixCallback<T> = object : MatrixCallback<T> { val callback = object : MatrixCallback<T> {
override fun onSuccess(data: T) { override fun onSuccess(data: T) {
it.onComplete() emitter.onComplete()
} }
override fun onFailure(failure: Throwable) { override fun onFailure(failure: Throwable) {
it.tryOnError(failure) emitter.tryOnError(failure)
} }
} }
val cancelable = builder(callback) val cancelable = builder(callback)
it.setCancellable { emitter.setCancellable {
cancelable.cancel() cancelable.cancel()
} }
} }