|
|
@@ -1,10 +1,14 @@
|
|
|
package me.vadik.knigopis.dependency
|
|
|
|
|
|
import com.google.gson.GsonBuilder
|
|
|
-import me.vadik.knigopis.BuildConfig
|
|
|
+import me.vadik.knigopis.*
|
|
|
+import me.vadik.knigopis.api.BookCoverSearch
|
|
|
+import me.vadik.knigopis.api.BookCoverSearchImpl
|
|
|
import me.vadik.knigopis.api.Endpoint
|
|
|
import me.vadik.knigopis.api.ImageEndpoint
|
|
|
import me.vadik.knigopis.api.gson.ImageThumbnailDeserializer
|
|
|
+import me.vadik.knigopis.auth.KAuth
|
|
|
+import me.vadik.knigopis.auth.KAuthImpl
|
|
|
import me.vadik.knigopis.model.ImageThumbnail
|
|
|
import okhttp3.OkHttpClient
|
|
|
import okhttp3.logging.HttpLoggingInterceptor
|
|
|
@@ -18,11 +22,15 @@ private const val IMAGE_API_URL = "https://api.qwant.com/api/"
|
|
|
private const val DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
|
val appModule = applicationContext {
|
|
|
- bean { getEndpointBuilder().create(Endpoint::class.java) }
|
|
|
- bean { getImageEndpointBuilder().create(ImageEndpoint::class.java) }
|
|
|
+ bean { BookRepositoryImpl(get(), get()) as BookRepository }
|
|
|
+ bean { BookCoverSearchImpl(get(), BookCoverCacheImpl(get())) as BookCoverSearch }
|
|
|
+ bean { KAuthImpl(get(), get()) as KAuth }
|
|
|
+ bean { createMainEndpoint() }
|
|
|
+ bean { createImageEndpoint() }
|
|
|
+ bean { ConfigurationImpl(get()) as Configuration }
|
|
|
}
|
|
|
|
|
|
-private fun getEndpointBuilder() =
|
|
|
+private fun createMainEndpoint() =
|
|
|
Retrofit.Builder()
|
|
|
.baseUrl(MAIN_API_URL)
|
|
|
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
|
|
|
@@ -37,8 +45,9 @@ private fun getEndpointBuilder() =
|
|
|
.build()
|
|
|
)
|
|
|
.build()
|
|
|
+ .create(Endpoint::class.java)
|
|
|
|
|
|
-private fun getImageEndpointBuilder() =
|
|
|
+private fun createImageEndpoint() =
|
|
|
Retrofit.Builder()
|
|
|
.baseUrl(IMAGE_API_URL)
|
|
|
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
|
|
|
@@ -51,6 +60,7 @@ private fun getImageEndpointBuilder() =
|
|
|
)
|
|
|
)
|
|
|
.build()
|
|
|
+ .create(ImageEndpoint::class.java)
|
|
|
|
|
|
private fun OkHttpClient.Builder.setDebugEnabled(debugEnabled: Boolean) =
|
|
|
apply {
|