storages в UnlockManager
This commit is contained in:
@@ -15,10 +15,12 @@ import kotlinx.coroutines.CoroutineDispatcher
|
|||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
|
import kotlinx.coroutines.flow.SharingStarted
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.flow.first
|
import kotlinx.coroutines.flow.first
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
|
import kotlinx.coroutines.flow.stateIn
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.sync.Mutex
|
import kotlinx.coroutines.sync.Mutex
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
@@ -45,7 +47,11 @@ class UnlockManager(
|
|||||||
get() = MutableStateFlow(null)
|
get() = MutableStateFlow(null)
|
||||||
|
|
||||||
override val storages: StateFlow<List<IStorage>?>
|
override val storages: StateFlow<List<IStorage>?>
|
||||||
get() = TODO()
|
get() = openedStorages.map { it?.values?.toList() }.stateIn(
|
||||||
|
scope = CoroutineScope(ioDispatcher),
|
||||||
|
started = SharingStarted.WhileSubscribed(5000L),
|
||||||
|
initialValue = null
|
||||||
|
)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
CoroutineScope(ioDispatcher).launch {
|
CoroutineScope(ioDispatcher).launch {
|
||||||
|
|||||||
@@ -67,8 +67,7 @@ fun StorageTree(
|
|||||||
val numOfFiles by cur.numberOfFiles.collectAsStateWithLifecycle()
|
val numOfFiles by cur.numberOfFiles.collectAsStateWithLifecycle()
|
||||||
val size by cur.size.collectAsStateWithLifecycle()
|
val size by cur.size.collectAsStateWithLifecycle()
|
||||||
val metaInfo by cur.metaInfo.collectAsStateWithLifecycle()
|
val metaInfo by cur.metaInfo.collectAsStateWithLifecycle()
|
||||||
//val isAvailable by cur.isAvailable.collectAsStateWithLifecycle()
|
val isAvailable by cur.isAvailable.collectAsStateWithLifecycle()
|
||||||
val isAvailable = metaInfo.name?.startsWith("1") != true
|
|
||||||
val borderColor =
|
val borderColor =
|
||||||
if (cur.isVirtualStorage) MaterialTheme.colorScheme.secondary else MaterialTheme.colorScheme.primary
|
if (cur.isVirtualStorage) MaterialTheme.colorScheme.secondary else MaterialTheme.colorScheme.primary
|
||||||
Column(modifier) {
|
Column(modifier) {
|
||||||
|
|||||||
Reference in New Issue
Block a user