TP-75840 | Narayan | Hilt scope reduction (#11964)

This commit is contained in:
Aditya Narayan Malik
2024-07-31 18:23:36 +05:30
committed by GitHub
parent 6a34d5912e
commit f1c686dbd7

View File

@@ -66,6 +66,7 @@ import dagger.Binds
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.components.ViewModelComponent
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import javax.inject.Qualifier
@@ -227,6 +228,29 @@ object NaviPayNetworkModule {
naviPayAppEncryptedDatabase.validateVpaDao()
}
@Module
@InstallIn(ViewModelComponent::class)
abstract class NaviPayViewModelScopedModule {
@Binds
abstract fun bindPhoneContacts(
phoneContactManagerImpl: PhoneContactManagerImpl
): PhoneContactManager
@Binds
abstract fun bindPermissionStateProvider(
permissionStateProviderImpl: PermissionStateProviderImpl
): PermissionStateProvider
@Binds abstract fun bindImageCache(imageCacheImpl: ImageCacheImpl): ImageCache
@Binds abstract fun bindSmsManager(smsManagerImpl: SmsManagerImpl): SmsManager
@Binds
abstract fun bindNetworkConnectivity(
naviPayNetworkConnectivityImpl: NaviPayNetworkConnectivityImpl
): NaviPayNetworkConnectivity
}
@Module
@InstallIn(SingletonComponent::class)
abstract class NaviPayDeviceModule {
@@ -241,37 +265,16 @@ abstract class NaviPayDeviceModule {
npciSessionHandlerImpl: NpciSessionHandlerImpl
): NpciSessionHandler
@Singleton
@Binds
abstract fun bindPhoneContacts(
phoneContactManagerImpl: PhoneContactManagerImpl
): PhoneContactManager
@Singleton
@Binds
abstract fun bindVpaQrCodeManager(vpaQRCodeManagerImpl: VpaQRCodeManagerImpl): VpaQRCodeManager
@Singleton
@Binds
abstract fun bindNetworkConnectivity(
naviPayNetworkConnectivityImpl: NaviPayNetworkConnectivityImpl
): NaviPayNetworkConnectivity
@Singleton
@Binds
abstract fun bindPermissionStateProvider(
permissionStateProviderImpl: PermissionStateProviderImpl
): PermissionStateProvider
@Singleton @Binds abstract fun bindImageCache(imageCacheImpl: ImageCacheImpl): ImageCache
@Singleton @Binds abstract fun bindSmsManager(smsManagerImpl: SmsManagerImpl): SmsManager
@Singleton
@Binds
abstract fun bindNaviPayWidgetManager(
naviPayWidgetManagerImpl: NaviPayWidgetManagerImpl
): NaviPayWidgetManager
): NaviPayWidgetManager // TODO : Move this to view model scoped once delayed onboarding
// experiment is at 100%
}
@Qualifier @Retention(AnnotationRetention.BINARY) annotation class NaviPayRetrofit