API call for DeviceProvision and Login is completed and tested

This commit is contained in:
Kaif
2023-12-26 14:16:19 +05:30
parent 0faf4adbd7
commit 00a3124fbf
31 changed files with 697 additions and 345 deletions

View File

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