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 e1d67df755..c2476401e7 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,17 +7,23 @@ 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 kotlinx.coroutines.flow.* class AdditionalFeedbackInfo { class EmailWalletInfo( - var blockchain: Blockchain = Blockchain.Unknown, - var derivationPath: String = "", - var outputsCount: String? = null, - var host: String = "", - var addresses: String = "", - var explorerLink: String = "", + val blockchain: Blockchain = Blockchain.Unknown, + val derivationPath: String = "", + val outputsCount: String? = null, + val host: String = "", + val addresses: String = "", + val explorerLink: String = "", + val tokens: List = emptyList(), + ) + + class EmailTokenInfo( + val id: String?, + val name: String, + val contractAddress: String, ) var appVersion: String = "" @@ -31,7 +37,6 @@ class AdditionalFeedbackInfo { // wallets internal val walletsInfo = mutableListOf() - internal val tokens = mutableMapOf>() internal var onSendErrorWalletInfo: EmailWalletInfo? = null var signedHashesCount: String = "" @@ -61,12 +66,8 @@ class AdditionalFeedbackInfo { @Deprecated("Don't use it directly") fun setWalletsInfo(walletManagers: List) { walletsInfo.clear() - tokens.clear() walletManagers.forEach { manager -> walletsInfo.add(createEmailWalletInfo(manager)) - if (manager.cardTokens.isNotEmpty()) { - tokens[manager.wallet.blockchain] = manager.cardTokens - } } } @@ -91,6 +92,9 @@ class AdditionalFeedbackInfo { host = walletManager.currentHost, addresses = formatAddresses(walletManager.wallet), explorerLink = formatExploreUrls(walletManager.wallet), + tokens = walletManager.cardTokens.map { token -> + EmailTokenInfo(token.id, token.name, token.contractAddress) + }, ) } diff --git a/app/src/main/java/com/tangem/tap/common/feedback/FeedbackDataBuilder.kt b/app/src/main/java/com/tangem/tap/common/feedback/FeedbackDataBuilder.kt index 4baf39c3e2..7ad4477154 100644 --- a/app/src/main/java/com/tangem/tap/common/feedback/FeedbackDataBuilder.kt +++ b/app/src/main/java/com/tangem/tap/common/feedback/FeedbackDataBuilder.kt @@ -33,10 +33,10 @@ class FeedbackDataBuilder( builder.appendKeyValue("Derivation path", it.derivationPath) builder.appendKeyValue("Outputs count", it.outputsCount) - infoHolder.tokens[it.blockchain]?.let { tokens -> + if (it.tokens.isNotEmpty()) { builder.append("Tokens:") breakLine() - tokens.forEach { token -> + it.tokens.forEach { token -> builder.appendKeyValue("ID", token.id ?: "[custom token]") builder.appendKeyValue("Name", token.name) builder.appendKeyValue("Contract address", token.contractAddress) 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 68bc51a87c..0563a956cd 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 @@ -178,8 +178,8 @@ private fun handleAction(action: Action, appState: () -> AppState?, dispatch: Di } is GlobalAction.UpdateUserWalletsListManager -> { /* - * If UserWalletsListManager's implementation is changed, - * then all selectedUserWallet's observers is became irrelevant + * If implementation of the UserWalletsListManager is changed, + * then all observers of selectedUserWallet become irrelevant. */ action.manager.selectedUserWallet .distinctUntilChanged() diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/WalletManagersFacade.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/WalletManagersFacade.kt index 19e400b067..51e96aa10c 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/WalletManagersFacade.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/WalletManagersFacade.kt @@ -79,7 +79,7 @@ interface WalletManagersFacade { pageSize: Int, ): PaginationWrapper - // TODO: Remove after refactoring + @Deprecated("Will be removed in future") suspend fun getOrCreateWalletManager( userWalletId: UserWalletId, blockchain: Blockchain, @@ -111,5 +111,6 @@ interface WalletManagersFacade { */ suspend fun getExistentialDeposit(userWalletId: UserWalletId, network: Network): BigDecimal? + @Deprecated("Will be removed in future") fun getAll(userWalletId: UserWalletId): Flow> } \ No newline at end of file