Updated on 2026-08-14

This commit is contained in:
Tangem 2024-02-28 16:31:12 +05:00
parent 0a2b586b6e
commit 757d24b43d
10 changed files with 74 additions and 8 deletions

View file

@ -77,16 +77,18 @@ internal class DefaultAppCurrencyRepository(
}
}
private suspend fun fetchDefaultAppCurrency() {
fetchAvailableCurrenciesIfExpired()
changeAppCurrency(DEFAULT_CURRENCY_CODE)
override suspend fun fetchDefaultAppCurrency(isRefresh: Boolean) {
withContext(dispatchers.io) {
fetchAvailableCurrenciesIfExpired(isRefresh)
val appCurrency = appPreferencesStore.getSyncOrNull(PreferencesKeys.SELECTED_APP_CURRENCY_KEY)
changeAppCurrency(appCurrency ?: DEFAULT_CURRENCY_CODE)
}
}
private suspend fun fetchAvailableCurrenciesIfExpired() {
private suspend fun fetchAvailableCurrenciesIfExpired(isRefresh: Boolean = false) {
cacheRegistry.invokeOnExpire(
key = AVAILABLE_CURRENCIES_CACHE_KEY,
skipCache = false,
skipCache = isRefresh,
expireIn = Duration.standardMinutes(AVAILABLE_CURRENCIES_CACHE_KEY_EXPIRE_MINUTES),
block = { fetchAvailableCurrencies() },
)

View file

@ -11,6 +11,8 @@ internal class AppCurrencyConverter : Converter<CurrenciesResponse.Currency, App
code = value.code,
name = value.name,
symbol = value.unit,
iconSmallUrl = value.iconSmallUrl,
iconMediumUrl = value.iconMediumUrl,
)
}
}