From d7f661a854b3b41a568266bef2075ddecd87a5e1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 15 Jul 2024 23:11:02 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../local/preferences/utils/AppPreferencesStoreExt.kt | 7 ++++--- .../data/tokens/repository/DefaultCurrenciesRepository.kt | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/utils/AppPreferencesStoreExt.kt b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/utils/AppPreferencesStoreExt.kt index aa3171803c..26be12c002 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/utils/AppPreferencesStoreExt.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/utils/AppPreferencesStoreExt.kt @@ -6,6 +6,7 @@ import com.squareup.moshi.JsonDataException import com.squareup.moshi.Types import com.tangem.datasource.local.preferences.AppPreferencesStore import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.flow.map @@ -20,7 +21,7 @@ inline fun AppPreferencesStore.getObject(key: Preferences.Key AppPreferencesStore.getObject(key: Preferences.Key AppPreferencesStore.storeObjectList(key: Preferen /** Get flow of list of data [T] by string [key]. If data is not found, it returns `null` */ inline fun AppPreferencesStore.getObjectList(key: Preferences.Key): Flow?> { val adapter = moshi.adapter>(Types.newParameterizedType(List::class.java, T::class.java)) - return data.map { it[key]?.let(adapter::fromJson) } + return data.map { it[key]?.let(adapter::fromJson) }.distinctUntilChanged() } /** Get list of data [T] by string [key], or empty if data is not found */ diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt index 7951e83c17..167c691cec 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt @@ -261,7 +261,7 @@ internal class DefaultCurrenciesRepository( launch(dispatchers.io) { combine( - getMultiCurrencyWalletCurrencies(userWallet).distinctUntilChanged(), + getMultiCurrencyWalletCurrencies(userWallet), isMultiCurrencyWalletCurrenciesFetching.map { it.getOrElse(userWallet.walletId) { false } }, ) { currencies, isFetching -> send(currencies, isStillLoading = isFetching)