Updated on 2026-08-14

This commit is contained in:
Tangem 2025-02-20 12:53:26 +04:00
parent 6a5a8300cf
commit 3269095c97
15 changed files with 148 additions and 96 deletions

View file

@ -129,7 +129,7 @@ internal class DefaultNetworksRepository(
}
if (statusesToRefresh != null) {
networksStatusesStore.storeAll(key = userWalletId, values = statusesToRefresh)
networksStatusesStore.storeAll(key = userWalletId, values = statusesToRefresh.toSet())
}
}

View file

@ -19,6 +19,7 @@ import kotlinx.coroutines.flow.*
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import kotlinx.coroutines.withContext
import timber.log.Timber
internal class DefaultQuotesRepository(
private val tangemTechApi: TangemTechApi,
@ -115,25 +116,26 @@ internal class DefaultQuotesRepository(
val replacementIdsResult = quotesUnsupportedCurrenciesAdapter.replaceUnsupportedCurrencies(
rawCurrenciesIds.map { it.value }.toSet(),
)
val response = safeApiCallWithTimeout(
safeApiCallWithTimeout(
call = {
val coinIds = replacementIdsResult.idsForRequest.joinToString(separator = ",")
tangemTechApi.getQuotes(appCurrencyId, coinIds).bind()
val response = tangemTechApi.getQuotes(appCurrencyId, coinIds).bind()
val updatedResponse = quotesUnsupportedCurrenciesAdapter.getResponseWithUnsupportedCurrencies(
response = response,
filteredIds = replacementIdsResult.idsFiltered,
)
quotesStore.store(updatedResponse)
},
onError = { error ->
Timber.e(error)
cacheRegistry.invalidate(rawCurrenciesIds.map { getQuoteCacheKey(it) })
quotesStore.storeEmptyQuotes(currenciesIds = rawCurrenciesIds)
throw error
},
)
val updatedResponse = quotesUnsupportedCurrenciesAdapter.getResponseWithUnsupportedCurrencies(
response,
replacementIdsResult.idsFiltered,
)
quotesStore.store(updatedResponse)
}
private suspend fun filterExpiredCurrenciesIds(