|
@@ -3,30 +3,36 @@ package com.livelike.flickersearchlibrary.di
|
|
|
import com.livelike.flickersearchlibrary.api.FlickrApi
|
|
|
import com.livelike.flickersearchlibrary.api.utils.BASE_URL
|
|
|
import com.livelike.flickersearchlibrary.service.logic.FlickrServiceLogic
|
|
|
+import org.koin.core.context.startKoin
|
|
|
import org.koin.dsl.module
|
|
|
import retrofit2.Retrofit
|
|
|
import retrofit2.converter.moshi.MoshiConverterFactory
|
|
|
|
|
|
/**
|
|
|
- * Koin module that declares dependencies required by Flickr API.
|
|
|
+ * Defines dependencies required by Flickr service features.
|
|
|
*/
|
|
|
-internal val flickrApiModule = module {
|
|
|
+internal object Dependencies {
|
|
|
|
|
|
- single {
|
|
|
- val retrofit = Retrofit.Builder()
|
|
|
- .baseUrl(BASE_URL)
|
|
|
- .addConverterFactory(MoshiConverterFactory.create())
|
|
|
- .build()
|
|
|
- retrofit.create(FlickrApi::class.java)
|
|
|
- }
|
|
|
+ private val flickrModule = module {
|
|
|
|
|
|
-}
|
|
|
+ single {
|
|
|
+ val retrofit = Retrofit.Builder()
|
|
|
+ .baseUrl(BASE_URL)
|
|
|
+ .addConverterFactory(MoshiConverterFactory.create())
|
|
|
+ .build()
|
|
|
+ retrofit.create(FlickrApi::class.java)
|
|
|
+ }
|
|
|
|
|
|
-/**
|
|
|
- * Koin module that declares dependencies required by Flickr service features.
|
|
|
- */
|
|
|
-val flickrModule = module {
|
|
|
+ single { FlickrServiceLogic(get()) }
|
|
|
|
|
|
- single { FlickrServiceLogic(get()) }
|
|
|
+ }
|
|
|
|
|
|
-}
|
|
|
+ /**
|
|
|
+ * Initializes all dependencies needed for Flick service features.
|
|
|
+ */
|
|
|
+ internal fun init() {
|
|
|
+ startKoin {
|
|
|
+ modules(flickrModule)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|