Skip to content

Instantly share code, notes, and snippets.

@IhwanID
Created January 20, 2019 09:55
Show Gist options
  • Save IhwanID/650f8452670ff1bd1248264e6410d9c7 to your computer and use it in GitHub Desktop.
Save IhwanID/650f8452670ff1bd1248264e6410d9c7 to your computer and use it in GitHub Desktop.
package id.ihwan.aac.network
import id.ihwan.aac.model.MovieResponse
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.CompositeDisposable
import io.reactivex.schedulers.Schedulers
class MainRepository {
private val apiService = ApiFactory.create()
private val compositeDisposable = CompositeDisposable()
fun requestMovie(onResult: (MovieResponse) -> Unit, onError: (Throwable) -> Unit){
apiService.getMovie()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object: ApiObserver<MovieResponse>(compositeDisposable){
override fun onApiSuccess(data: MovieResponse) {
onResult(data)
}
override fun onApiError(er: Throwable) {
onError(er)
}
})
}
fun onDestroy(){
compositeDisposable.clear()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment