Updated on 2026-08-14
This commit is contained in:
parent
0a2b586b6e
commit
757d24b43d
10 changed files with 74 additions and 8 deletions
|
|
@ -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() },
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue