Локальное хранилище теперь читает файлы и создаёт .wallenc-meta
This commit is contained in:
@@ -4,7 +4,7 @@ plugins {
|
||||
alias(libs.plugins.compose.compiler)
|
||||
alias(libs.plugins.dagger.hilt)
|
||||
alias(libs.plugins.jetbrains.kotlin.serialization)
|
||||
id("kotlin-parcelize")
|
||||
alias(libs.plugins.kotlin.parcelize)
|
||||
alias(libs.plugins.ksp)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.github.nullptroma.wallenc.presentation.screens.main.screens.local.vault
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
@@ -7,6 +8,7 @@ import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.hilt.navigation.compose.hiltViewModel
|
||||
@@ -20,12 +22,17 @@ fun LocalVaultScreen(modifier: Modifier = Modifier,
|
||||
val uiState by viewModel.state.collectAsStateWithLifecycle()
|
||||
LazyColumn(modifier = modifier) {
|
||||
items(uiState.storagesList) {
|
||||
Card {
|
||||
Card(modifier = Modifier.clickable {
|
||||
viewModel.printAllFilesToLog(it)
|
||||
}) {
|
||||
val available = it.isAvailable.collectAsStateWithLifecycle()
|
||||
val numOfFiles = it.isAvailable.collectAsStateWithLifecycle()
|
||||
val size = it.isAvailable.collectAsStateWithLifecycle()
|
||||
Column {
|
||||
Text(it.uuid.toString())
|
||||
Text("IsAvailable: ${it.isAvailable.value}")
|
||||
Text("Files: ${it.numberOfFiles.value}")
|
||||
Text("Size: ${it.size.value}")
|
||||
Text("IsAvailable: $available")
|
||||
Text("Files: $numOfFiles")
|
||||
Text("Size: $size")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
package com.github.nullptroma.wallenc.presentation.screens.main.screens.local.vault
|
||||
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.github.nullptroma.wallenc.domain.models.IStorage
|
||||
import com.github.nullptroma.wallenc.domain.usecases.GetAllRawStoragesUseCase
|
||||
import com.github.nullptroma.wallenc.domain.usecases.StorageFileManagementUseCase
|
||||
import com.github.nullptroma.wallenc.presentation.viewmodel.ViewModelBase
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class LocalVaultViewModel @Inject constructor(private val getAllRawStoragesUseCase: GetAllRawStoragesUseCase) :
|
||||
class LocalVaultViewModel @Inject constructor(
|
||||
private val _getAllRawStoragesUseCase: GetAllRawStoragesUseCase,
|
||||
private val _storageFileManagementUseCase: StorageFileManagementUseCase
|
||||
) :
|
||||
ViewModelBase<LocalVaultScreenState>(LocalVaultScreenState(listOf())) {
|
||||
init {
|
||||
viewModelScope.launch {
|
||||
getAllRawStoragesUseCase.localStorage.storages.collect {
|
||||
_getAllRawStoragesUseCase.localStorage.storages.collect {
|
||||
val newState = state.value.copy(
|
||||
storagesList = it
|
||||
)
|
||||
@@ -20,4 +26,15 @@ class LocalVaultViewModel @Inject constructor(private val getAllRawStoragesUseCa
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun printAllFilesToLog(storage: IStorage) {
|
||||
_storageFileManagementUseCase.setStorage(storage)
|
||||
viewModelScope.launch {
|
||||
val files = _storageFileManagementUseCase.getAllFiles()
|
||||
for (file in files) {
|
||||
Timber.tag("File")
|
||||
Timber.d(file.metaInfo.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user