API call for DeviceProvision and Login is completed and tested
This commit is contained in:
@@ -2,7 +2,11 @@ package com.example.hpostesting.domain.di
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import android.content.res.AssetManager
|
||||
import androidx.room.Room
|
||||
import com.example.hpostesting.data.api.HPOSApi
|
||||
import com.example.hpostesting.data.api.PropertyProvider
|
||||
import com.example.hpostesting.data.constant.Constants.BASE_URL
|
||||
import com.example.hpostesting.data.dao.HemoCubeDao
|
||||
import com.example.hpostesting.data.dao.MyDatabase
|
||||
import com.example.hpostesting.data.dao.UserDao
|
||||
@@ -12,11 +16,15 @@ import com.example.hpostesting.data.repository.LocalFileRepository
|
||||
import com.example.hpostesting.data.repository.Repository
|
||||
import com.example.hpostesting.domain.SaveRawData
|
||||
import com.example.hpostesting.domain.SaveRawDataTest
|
||||
import com.example.hpostesting.util.PropertyProviderImpl
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import okhttp3.OkHttpClient
|
||||
import retrofit2.Retrofit
|
||||
import retrofit2.converter.gson.GsonConverterFactory
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Module
|
||||
@@ -67,13 +75,47 @@ object AppModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideDatabaseRepository(): DatabaseRepository {
|
||||
return DatabaseRepository()
|
||||
fun provideDatabaseRepository(hposApi: HPOSApi): DatabaseRepository {
|
||||
return DatabaseRepository(hposApi = hposApi)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideRepository(): Repository {
|
||||
return DatabaseRepository()
|
||||
fun provideRepository(hposApi: HPOSApi): Repository {
|
||||
return DatabaseRepository(hposApi)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideAssetManager(@ApplicationContext context: Context): AssetManager {
|
||||
return context.assets
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun providePropertyProvider(assetManager: AssetManager): PropertyProvider {
|
||||
return PropertyProviderImpl(assetManager)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideOkHttpClient(): OkHttpClient {
|
||||
return OkHttpClient.Builder()
|
||||
.build()
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideRetrofit(propertyProvider: PropertyProvider, client: OkHttpClient): Retrofit {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl(propertyProvider.getProperty("BASE_URL"))
|
||||
.client(client)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.build()
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideEntryApi(retrofit: Retrofit): HPOSApi =
|
||||
retrofit.create(HPOSApi::class.java)
|
||||
}
|
||||
Reference in New Issue
Block a user