release 0.1 #30
@ -5,9 +5,10 @@ import okhttp3.OkHttpClient
|
|||||||
import retrofit2.Retrofit
|
import retrofit2.Retrofit
|
||||||
import retrofit2.converter.gson.GsonConverterFactory
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
|
|
||||||
object ServicesFactory {
|
class ServicesFactory private constructor(
|
||||||
|
reader: PreferenceReader
|
||||||
|
) {
|
||||||
private val retrofit: Retrofit
|
private val retrofit: Retrofit
|
||||||
private lateinit var reader: PreferenceReader //TODO
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val httpClient = OkHttpClient.Builder()
|
val httpClient = OkHttpClient.Builder()
|
||||||
@ -55,5 +56,23 @@ object ServicesFactory {
|
|||||||
val userService by lazy {
|
val userService by lazy {
|
||||||
retrofit.create(UserService::class.java)
|
retrofit.create(UserService::class.java)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
@Volatile
|
||||||
|
private var INSTANCE: ServicesFactory? = null
|
||||||
|
|
||||||
|
fun getInstance(reader: PreferenceReader): ServicesFactory {
|
||||||
|
val tempInstance = INSTANCE
|
||||||
|
|
||||||
|
if (tempInstance != null)
|
||||||
|
return tempInstance
|
||||||
|
|
||||||
|
synchronized(this) {
|
||||||
|
val instance = ServicesFactory(reader)
|
||||||
|
INSTANCE = instance
|
||||||
|
return instance
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user