mingkangpan
12/27/2016, 3:05 AM@Synchronized
override fun <T : Any, R : Any> processRequest(callable: Callable<T>, referenceClazz: Class<R>) {
disposableMap.put(referenceClazz, Observable.create<T> {
callable.call()
}.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(<http://Schedulers.io|Schedulers.io>())
.subscribe({ r ->
log.d(LogCategory.NETWORK, r, "Request succeed")
networkResultStorage.storeResult(referenceClazz, r)
disposableMap.remove(referenceClazz)
networkListeners.forEach {
it.onResult(referenceClazz, r)
}
}, { e ->
log.d(LogCategory.NETWORK, e, "Request failed")
disposableMap.remove(referenceClazz)
networkListeners.forEach {
it.onError(referenceClazz, e)
}
}))
}