VaultModule.kt

948 B · raw

1package com.peachpasswords.di23import com.peachpasswords.sync.PairedDeviceRegistry4import com.peachpasswords.sync.PairedDeviceStore5import com.peachpasswords.vault.VaultRepository6import com.peachpasswords.vault.VaultStorage7import com.peachpasswords.vault.VaultStore8import dagger.Binds9import dagger.Module10import dagger.hilt.EntryPoint11import dagger.hilt.InstallIn12import dagger.hilt.components.SingletonComponent13import javax.inject.Singleton1415@Module16@InstallIn(SingletonComponent::class)17abstract class VaultModule {18    @Binds19    @Singleton20    abstract fun bindVaultStorage(impl: VaultStore): VaultStorage2122    @Binds23    @Singleton24    abstract fun bindPairedDeviceRegistry(impl: PairedDeviceStore): PairedDeviceRegistry25}2627/** QA seam: lets instrumented tests reach the vault without any UI. */28@EntryPoint29@InstallIn(SingletonComponent::class)30internal interface VaultRepositoryEntryPoint {31    fun vaultRepository(): VaultRepository32}