package cn.flightfeather.thirdapp.common.net
|
|
import cn.flightfeather.thirdapp.CommonApplication
|
import io.reactivex.Observable
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.schedulers.Schedulers
|
import retrofit2.Response
|
import retrofit2.Retrofit
|
|
/**
|
* @author riku
|
* Date: 2019/7/22
|
* 网络请求
|
*/
|
class RetrofitFactory constructor(application: CommonApplication){
|
|
val retrofit: Retrofit = application.retrofit
|
|
companion object {
|
|
@Volatile
|
lateinit var instance: RetrofitFactory
|
|
@JvmStatic
|
@Synchronized
|
fun init(application: CommonApplication) {
|
instance = RetrofitFactory(application)
|
}
|
|
/**
|
* 执行请求返回结果
|
*/
|
fun <T> executeResult(observable: Observable<Response<T>>, subscriber: ResultObserver<T>) {
|
observable.subscribeOn(Schedulers.io())
|
.observeOn(AndroidSchedulers.mainThread())
|
.subscribe(subscriber)
|
}
|
}
|
}
|