Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- abstract class ObservableUseCase<T, in Params> constructor(
- private val postExecutionThread: PostExecutionThread
- ) {
- private val disposables = CompositeDisposable()
- abstract fun buildUseCaseObservable(params: Params? = null): Observable<T>
- open fun execute(observer: DisposableObserver<T>, params: Params? = null) {
- val observable = this.buildUseCaseObservable(params)
- .subscribeOn(Schedulers.io())
- .observeOn(postExecutionThread.scheduler)
- addDisposable(observable.subscribeWith(observer))
- }
- private fun addDisposable(disposable: Disposable) {
- disposables.add(disposable)
- }
- fun dispose() {
- if (!disposables.isDisposed) disposables.dispose()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement