Skip to content

Instantly share code, notes, and snippets.

@finnkvan
Created January 12, 2019 11:18
Show Gist options
  • Save finnkvan/e4b7d2151782206715086ea7f348a4c2 to your computer and use it in GitHub Desktop.
Save finnkvan/e4b7d2151782206715086ea7f348a4c2 to your computer and use it in GitHub Desktop.
class LiveDataCallAdapterFactory: CallAdapter.Factory() {
override fun get(returnType: Type, annotations: Array<Annotation>, retrofit: Retrofit): CallAdapter<*, *>? {
val observableType =
CallAdapter.Factory.getParameterUpperBound(0, returnType as ParameterizedType) as? ParameterizedType
?: throw IllegalArgumentException("resource must be parameterized")
return LiveDataCallAdapter<Any>(CallAdapter.Factory.getParameterUpperBound(0, observableType))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment