diff --git a/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt b/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt index b76e63b0e2..0adf835be5 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt @@ -37,10 +37,10 @@ suspend fun WalletManager.safeUpdate(): Result = try { val amountToCreateAccount = blockchain.amountToCreateAccount(wallet.getFirstToken()) if (exception is BlockchainSdkError.AccountNotFound && amountToCreateAccount != null) { - Result.Failure(TapError.WalletManagerUpdate.NoAccountError(amountToCreateAccount.toString())) + Result.Failure(TapError.WalletManager.NoAccountError(amountToCreateAccount.toString())) } else { val message = exception.localizedMessage ?: "An error has occurred. Try later" - Result.Failure(TapError.WalletManagerUpdate.InternalError(message)) + Result.Failure(TapError.WalletManager.InternalError(message)) } } } diff --git a/app/src/main/java/com/tangem/tap/domain/TapErrors.kt b/app/src/main/java/com/tangem/tap/domain/TapErrors.kt index 6221e35faa..0c38cd5a46 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapErrors.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapErrors.kt @@ -43,7 +43,8 @@ sealed class TapError( object AssetAccountNotCreated : TapError(R.string.send_error_no_account_xlm) } - sealed class WalletManagerUpdate { + sealed class WalletManager { + object CreationError: CustomError("Can't create wallet manager") class NoAccountError(amountToCreateAccount: String): CustomError(amountToCreateAccount) class InternalError(message: String): CustomError(message) object BlockchainIsUnreachable: TapError(R.string.wallet_balance_blockchain_unreachable) diff --git a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt index 598c125413..c461b5f57b 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt @@ -4,9 +4,9 @@ import com.tangem.blockchain.blockchains.solana.RentProvider import com.tangem.blockchain.common.* import com.tangem.common.services.Result import com.tangem.domain.common.ScanResponse +import com.tangem.domain.common.TapWorkarounds.derivationStyle import com.tangem.domain.common.TapWorkarounds.isStart2Coin import com.tangem.domain.common.TapWorkarounds.isTestCard -import com.tangem.domain.common.TapWorkarounds.derivationStyle import com.tangem.domain.common.extensions.withMainContext import com.tangem.tap.common.ThrottlerWithValues import com.tangem.tap.common.extensions.dispatchOnMain @@ -19,7 +19,6 @@ import com.tangem.tap.domain.configurable.config.ConfigManager import com.tangem.tap.domain.extensions.isMultiwalletAllowed import com.tangem.tap.domain.extensions.makePrimaryWalletManager import com.tangem.tap.domain.extensions.makeWalletManagersForApp -import com.tangem.tap.domain.tokens.CardCurrencies import com.tangem.tap.domain.tokens.BlockchainNetwork import com.tangem.tap.features.demo.isDemoCard import com.tangem.tap.features.wallet.models.PendingTransactionType @@ -61,12 +60,12 @@ class TapWalletManager { } is Result.Failure -> { when (result.error) { - is TapError.WalletManagerUpdate.NoAccountError -> { + is TapError.WalletManager.NoAccountError -> { dispatchOnMain( WalletAction.LoadWallet.NoAccount( walletManager.wallet, blockchainNetwork, - (result.error as TapError.WalletManagerUpdate.NoAccountError).customMessage + (result.error as TapError.WalletManager.NoAccountError).customMessage ) ) } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingManager.kt b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingManager.kt index 7fefd24545..f0873595ff 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingManager.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingManager.kt @@ -32,7 +32,7 @@ class OnboardingManager( suspend fun loadArtworkUrl(): String { val cardInfo = cardInfo - ?: OnlineCardVerifier().getCardInfo(scanResponse.card.cardId, scanResponse.card.cardPublicKey) + ?: OnlineCardVerifier().getCardInfo(scanResponse.card.cardId, scanResponse.card.cardPublicKey) this.cardInfo = cardInfo return scanResponse.card.getOrLoadCardArtworkUrl(cardInfo) } @@ -57,11 +57,11 @@ class OnboardingManager( is Result.Failure -> { val error = (result.error as? TapError) ?: TapError.UnknownError when (error) { - is TapError.WalletManagerUpdate.NoAccountError -> OnboardingWalletBalance.error(error) - // NoInternetConnection, WalletManagerUpdate.InternalError + is TapError.WalletManager.NoAccountError -> OnboardingWalletBalance.error(error) + // NoInternetConnection, WalletManager.InternalError else -> { Timber.e(error.localizedMessage) - OnboardingWalletBalance.criticalError(TapError.WalletManagerUpdate.BlockchainIsUnreachableTryLater) + OnboardingWalletBalance.criticalError(TapError.WalletManager.BlockchainIsUnreachableTryLater) } } } @@ -93,7 +93,7 @@ data class OnboardingWalletBalance( fun balanceIsToppedUp(): Boolean = value.isPositive() || hasIncomingTransaction val amountToCreateAccount: String? - get() = if (error is TapError.WalletManagerUpdate.NoAccountError) error.customMessage else null + get() = if (error is TapError.WalletManager.NoAccountError) error.customMessage else null companion object { fun error(error: TapError): OnboardingWalletBalance = OnboardingWalletBalance(