diff --git a/app/src/main/java/com/tangem/tap/common/feedback/AdditionalFeedbackInfo.kt b/app/src/main/java/com/tangem/tap/common/feedback/AdditionalFeedbackInfo.kt index 7b68b75ab5..81c7160c71 100644 --- a/app/src/main/java/com/tangem/tap/common/feedback/AdditionalFeedbackInfo.kt +++ b/app/src/main/java/com/tangem/tap/common/feedback/AdditionalFeedbackInfo.kt @@ -7,6 +7,7 @@ import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.userwallets.UserWalletIdBuilder import com.tangem.tap.common.extensions.stripZeroPlainString +import java.util.concurrent.CopyOnWriteArrayList class AdditionalFeedbackInfo { @@ -36,7 +37,7 @@ class AdditionalFeedbackInfo { var userWalletId: String = "" // wallets - val walletsInfo = mutableListOf() + val walletsInfo = CopyOnWriteArrayList() var onSendErrorWalletInfo: EmailWalletInfo? = null private set var signedHashesCount: String = "" @@ -74,9 +75,7 @@ class AdditionalFeedbackInfo { @Deprecated("Don't use it directly") fun setWalletsInfo(walletManagers: List) { walletsInfo.clear() - walletManagers.forEach { - walletsInfo.add(createEmailWalletInfo(it)) - } + walletsInfo.addAll(elements = walletManagers.map(::createEmailWalletInfo)) } fun updateOnSendError( diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt index b27f2e9aa5..4d30db8c36 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt @@ -188,8 +188,9 @@ private fun handleAction(action: Action, appState: () -> AppState?) { walletManagersFacade .getAll(userWallet.walletId) + .distinctUntilChanged() .onEach(infoHolder::setWalletsInfo) - .launchIn(scope) + .launchIn(mainScope) } } .flowOn(Dispatchers.IO)