Start Schedule development
This commit is contained in:
@@ -1,10 +0,0 @@
|
||||
package ru.fincode.tsudesk.core.network
|
||||
|
||||
object HttpClientProvider {
|
||||
|
||||
fun provide(): OkHttpClient =
|
||||
OkHttpClient.Builder()
|
||||
.connectTimeout(15, TimeUnit.SECONDS)
|
||||
.readTimeout(15, TimeUnit.SECONDS)
|
||||
.build()
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package ru.fincode.tsudesk.core.network
|
||||
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import okhttp3.OkHttpClient
|
||||
import retrofit2.Retrofit
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
object NetworkModule {
|
||||
|
||||
private const val TIMEOUT_SEC = 30L
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideOkHttpClient(): OkHttpClient =
|
||||
OkHttpClient.Builder()
|
||||
.connectTimeout(TIMEOUT_SEC, TimeUnit.SECONDS)
|
||||
.readTimeout(TIMEOUT_SEC, TimeUnit.SECONDS)
|
||||
.writeTimeout(TIMEOUT_SEC, TimeUnit.SECONDS)
|
||||
.retryOnConnectionFailure(true)
|
||||
.build()
|
||||
|
||||
@Provides
|
||||
fun provideRetrofit(
|
||||
provider: RetrofitProvider,
|
||||
client: OkHttpClient
|
||||
): Retrofit = provider.process(NetworkConstants.BASE_URL, client)
|
||||
|
||||
}
|
||||
@@ -1,8 +1,11 @@
|
||||
package ru.fincode.tsudesk.core.network
|
||||
|
||||
object RetrofitProvider {
|
||||
import okhttp3.OkHttpClient
|
||||
import retrofit2.Retrofit
|
||||
import retrofit2.converter.simplexml.SimpleXmlConverterFactory
|
||||
|
||||
fun provide(baseUrl: String, client: OkHttpClient): Retrofit =
|
||||
class RetrofitProvider {
|
||||
fun process(baseUrl: String, client: OkHttpClient): Retrofit =
|
||||
Retrofit.Builder()
|
||||
.baseUrl(baseUrl)
|
||||
.client(client)
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
package ru.fincode.tsudesk.core.network.di
|
||||
|
||||
import okhttp3.OkHttpClient
|
||||
import retrofit2.Retrofit
|
||||
import ru.fincode.tsudesk.core.network.HttpClientProvider
|
||||
import ru.fincode.tsudesk.core.network.NetworkConstants
|
||||
import ru.fincode.tsudesk.core.network.RetrofitProvider
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
object NetworkModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideOkHttpClient(): OkHttpClient =
|
||||
HttpClientProvider.provide()
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideRetrofit(client: OkHttpClient): Retrofit =
|
||||
RetrofitProvider.provide(
|
||||
baseUrl = NetworkConstants.BASE_URL,
|
||||
client = client
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user