Реализован UnlockManager
This commit is contained in:
@@ -1,15 +1,20 @@
|
||||
package com.github.nullptroma.wallenc.presentation.screens.main.screens.local.vault
|
||||
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.github.nullptroma.wallenc.domain.datatypes.EncryptKey
|
||||
import com.github.nullptroma.wallenc.domain.interfaces.IDirectory
|
||||
import com.github.nullptroma.wallenc.domain.interfaces.IFile
|
||||
import com.github.nullptroma.wallenc.domain.interfaces.ILogger
|
||||
import com.github.nullptroma.wallenc.domain.interfaces.IStorageInfo
|
||||
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 com.github.nullptroma.wallenc.presentation.extensions.toPrintable
|
||||
import com.github.nullptroma.wallenc.presentation.viewmodel.ViewModelBase
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import kotlinx.coroutines.flow.collect
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
import kotlin.system.measureTimeMillis
|
||||
@@ -17,13 +22,16 @@ import kotlin.system.measureTimeMillis
|
||||
@HiltViewModel
|
||||
class LocalVaultViewModel @Inject constructor(
|
||||
private val _manageLocalVaultUseCase: ManageLocalVaultUseCase,
|
||||
private val _getOpenedStoragesUseCase: GetOpenedStoragesUseCase,
|
||||
private val _storageFileManagementUseCase: StorageFileManagementUseCase,
|
||||
private val logger: ILogger
|
||||
) :
|
||||
ViewModelBase<LocalVaultScreenState>(LocalVaultScreenState(listOf())) {
|
||||
init {
|
||||
viewModelScope.launch {
|
||||
_manageLocalVaultUseCase.localStorages.collect {
|
||||
_manageLocalVaultUseCase.localStorages.combine(_getOpenedStoragesUseCase.openedStorages) { local, opened ->
|
||||
local + (opened?.map { it.value } ?: listOf())
|
||||
}.collectLatest {
|
||||
val newState = state.value.copy(
|
||||
storagesList = it
|
||||
)
|
||||
@@ -54,7 +62,7 @@ class LocalVaultViewModel @Inject constructor(
|
||||
|
||||
fun createStorage() {
|
||||
viewModelScope.launch {
|
||||
_manageLocalVaultUseCase.createStorage()
|
||||
_manageLocalVaultUseCase.createStorage(EncryptKey("hello"))
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user