release 0.1 #30
@ -5,9 +5,10 @@ import okhttp3.OkHttpClient
|
||||
import retrofit2.Retrofit
|
||||
import retrofit2.converter.gson.GsonConverterFactory
|
||||
|
||||
object ServicesFactory {
|
||||
class ServicesFactory private constructor(
|
||||
reader: PreferenceReader
|
||||
) {
|
||||
private val retrofit: Retrofit
|
||||
private lateinit var reader: PreferenceReader //TODO
|
||||
|
||||
init {
|
||||
val httpClient = OkHttpClient.Builder()
|
||||
@ -55,5 +56,23 @@ object ServicesFactory {
|
||||
val userService by lazy {
|
||||
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