40 lines
1.5 KiB
Kotlin
40 lines
1.5 KiB
Kotlin
|
|
package com.longnh15.heimdall.di
|
||
|
|
|
||
|
|
import com.longnh15.heimdall.MainViewModel
|
||
|
|
import com.longnh15.heimdall.data.preferences.PreferenceDataSource
|
||
|
|
import com.longnh15.heimdall.data.repository.CredentialRepositoryImpl
|
||
|
|
import com.longnh15.heimdall.data.source.local.LocalDataSource
|
||
|
|
import com.longnh15.heimdall.data.vault.VaultSessionManagerImpl
|
||
|
|
import com.longnh15.heimdall.domain.repository.CredentialRepository
|
||
|
|
import com.longnh15.heimdall.domain.vault.VaultSessionManager
|
||
|
|
import com.longnh15.heimdall.ui.onboarding.OnboardingViewModel
|
||
|
|
import com.longnh15.heimdall.ui.vault.VaultViewModel
|
||
|
|
import com.longnh15.heimdall.ui.vault.edit.AddEditVaultViewModel
|
||
|
|
import org.koin.core.annotation.Module
|
||
|
|
import org.koin.core.annotation.Single
|
||
|
|
import org.koin.dsl.bind
|
||
|
|
import org.koin.dsl.module
|
||
|
|
import org.koin.plugin.module.dsl.single
|
||
|
|
import org.koin.plugin.module.dsl.viewModel
|
||
|
|
|
||
|
|
//@Module
|
||
|
|
//class AppModule {
|
||
|
|
// @Single
|
||
|
|
// fun provideVaultSessionManager(): VaultSessionManager = VaultSessionManagerImpl()
|
||
|
|
|
||
|
|
// @Single
|
||
|
|
// fun bindCredentialRepository(
|
||
|
|
// localDataSource: LocalDataSource
|
||
|
|
// ): CredentialRepository = CredentialRepositoryImpl(localDataSource)
|
||
|
|
//}
|
||
|
|
|
||
|
|
val appModule = module {
|
||
|
|
single<VaultSessionManagerImpl>() bind VaultSessionManager::class
|
||
|
|
single<CredentialRepositoryImpl>() bind CredentialRepository::class
|
||
|
|
single<PreferenceDataSource>()
|
||
|
|
|
||
|
|
viewModel<MainViewModel>()
|
||
|
|
viewModel<OnboardingViewModel>()
|
||
|
|
viewModel<VaultViewModel>()
|
||
|
|
viewModel<AddEditVaultViewModel>()
|
||
|
|
}
|