Updated on 2026-08-14
This commit is contained in:
parent
96a748c904
commit
a950ca16b7
8 changed files with 55 additions and 24 deletions
|
|
@ -36,7 +36,8 @@ internal class DefaultSwapServiceLoader @Inject constructor(
|
|||
private val dispatchers: CoroutineDispatcherProvider,
|
||||
) : SwapServiceLoader {
|
||||
|
||||
private val initializationStatuses: Map<UserWalletId, InitializationStatusFlow> = mapOf()
|
||||
private val initializationStatuses =
|
||||
MutableStateFlow<Map<UserWalletId, InitializationStatusFlow>>(value = emptyMap())
|
||||
|
||||
override suspend fun update(userWalletId: UserWalletId, userTokens: UserTokensResponse) {
|
||||
withContext(dispatchers.io) {
|
||||
|
|
@ -73,9 +74,18 @@ internal class DefaultSwapServiceLoader @Inject constructor(
|
|||
}
|
||||
|
||||
private fun getInitializationStatusInternal(userWalletId: UserWalletId): InitializationStatusFlow {
|
||||
return initializationStatuses.getOrDefault(
|
||||
key = userWalletId,
|
||||
defaultValue = MutableStateFlow(value = lceLoading()),
|
||||
)
|
||||
val initializationStatus = initializationStatuses.value.get(key = userWalletId)
|
||||
|
||||
if (initializationStatus != null) return initializationStatus
|
||||
|
||||
val default: InitializationStatusFlow = MutableStateFlow(value = lceLoading())
|
||||
|
||||
initializationStatuses.update {
|
||||
it.toMutableMap().apply {
|
||||
put(key = userWalletId, value = default)
|
||||
}
|
||||
}
|
||||
|
||||
return default
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue