Start Schedule development

This commit is contained in:
Shcherbatykh Oleg
2026-02-10 20:20:39 +03:00
parent 2688e44436
commit 04b8164eba
19 changed files with 214 additions and 79 deletions

View File

@@ -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()
}

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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
)
}