Реализован UnlockManager

This commit is contained in:
2025-01-18 21:24:41 +03:00
parent c5c0173391
commit b9e73cf197
25 changed files with 598 additions and 91 deletions

View File

@@ -3,7 +3,7 @@ package com.github.nullptroma.wallenc.app.di.modules.data
import android.content.Context
import com.github.nullptroma.wallenc.data.db.RoomFactory
import com.github.nullptroma.wallenc.data.db.app.IAppDb
import com.github.nullptroma.wallenc.data.db.app.dao.StorageKeyDao
import com.github.nullptroma.wallenc.data.db.app.dao.StorageKeyMapDao
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
@@ -21,8 +21,8 @@ class RoomModule {
@Provides
@Singleton
fun provideStorageKeyDao(database: IAppDb): StorageKeyDao {
return database.storageKeyDao
fun provideStorageKeyDao(database: IAppDb): StorageKeyMapDao {
return database.storageKeyMapDao
}
@Provides

View File

@@ -2,7 +2,8 @@ package com.github.nullptroma.wallenc.app.di.modules.data
import android.content.Context
import com.github.nullptroma.wallenc.app.di.modules.app.IoDispatcher
import com.github.nullptroma.wallenc.data.db.app.dao.StorageKeyDao
import com.github.nullptroma.wallenc.data.db.app.dao.StorageKeyMapDao
import com.github.nullptroma.wallenc.data.db.app.repository.StorageKeyMapRepository
import com.github.nullptroma.wallenc.data.vaults.UnlockManager
import com.github.nullptroma.wallenc.data.vaults.VaultsManager
import com.github.nullptroma.wallenc.domain.interfaces.IUnlockManager
@@ -25,13 +26,21 @@ class SingletonModule {
return VaultsManager(ioDispatcher, context)
}
@Provides
@Singleton
fun provideStorageKeyMapRepository(dao: StorageKeyMapDao): StorageKeyMapRepository {
return StorageKeyMapRepository(dao)
}
@Provides
@Singleton
fun provideUnlockManager(@IoDispatcher ioDispatcher: CoroutineDispatcher,
dao: StorageKeyDao): IUnlockManager {
repo: StorageKeyMapRepository,
vaultsManager: IVaultsManager): IUnlockManager {
return UnlockManager(
dao = dao,
ioDispatcher = ioDispatcher
repo = repo,
ioDispatcher = ioDispatcher,
vaultsManager = vaultsManager
)
}
}

View File

@@ -1,7 +1,9 @@
package com.github.nullptroma.wallenc.app.di.modules.domain
import com.github.nullptroma.wallenc.data.vaults.UnlockManager
import com.github.nullptroma.wallenc.domain.interfaces.IUnlockManager
import com.github.nullptroma.wallenc.domain.interfaces.IVaultsManager
import com.github.nullptroma.wallenc.domain.usecases.GetAllRawStoragesUseCase
import com.github.nullptroma.wallenc.domain.usecases.GetOpenedStoragesUseCase
import com.github.nullptroma.wallenc.domain.usecases.ManageLocalVaultUseCase
import com.github.nullptroma.wallenc.domain.usecases.StorageFileManagementUseCase
import dagger.Module
@@ -15,14 +17,14 @@ import javax.inject.Singleton
class UseCasesModule {
@Provides
@Singleton
fun provideGetAllRawStoragesUseCase(vaultsManager: IVaultsManager): GetAllRawStoragesUseCase {
return GetAllRawStoragesUseCase(vaultsManager)
fun provideGetOpenedStoragesUseCase(unlockManager: IUnlockManager): GetOpenedStoragesUseCase {
return GetOpenedStoragesUseCase(unlockManager)
}
@Provides
@Singleton
fun provideManageLocalVaultUseCase(vaultsManager: IVaultsManager): ManageLocalVaultUseCase {
return ManageLocalVaultUseCase(vaultsManager)
fun provideManageLocalVaultUseCase(vaultsManager: IVaultsManager, unlockManager: IUnlockManager): ManageLocalVaultUseCase {
return ManageLocalVaultUseCase(vaultsManager, unlockManager)
}
@Provides