From 5007d1901f0fc39f5db659236005541d369b3703 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 25 Jun 2024 16:00:16 +0100 Subject: [PATCH] Updated on 2026-08-14 --- .../tangem/domain/common/CardTypesResolver.kt | 4 ++++ .../domain/common/TangemCardTypesResolver.kt | 16 ++++++++++++++++ .../wallet/domain/WalletImageResolver.kt | 18 ++++++++++++++++++ .../drawable/ill_pastel_cards3_120_106.webp | Bin 0 -> 9576 bytes .../drawable/ill_vivid_cards3_120_106.webp | Bin 0 -> 9308 bytes 5 files changed, 38 insertions(+) create mode 100644 features/wallet/impl/src/main/res/drawable/ill_pastel_cards3_120_106.webp create mode 100644 features/wallet/impl/src/main/res/drawable/ill_vivid_cards3_120_106.webp diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/CardTypesResolver.kt b/domain/legacy/src/main/java/com/tangem/domain/common/CardTypesResolver.kt index 0a0a7eee52..55cc073069 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/CardTypesResolver.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/CardTypesResolver.kt @@ -54,6 +54,10 @@ interface CardTypesResolver { fun isVoltInuWallet(): Boolean + fun isVividWallet(): Boolean + + fun isPastelWallet(): Boolean + fun isWhiteWallet(): Boolean fun isWallet2(): Boolean diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt index f43573bf37..82208040e8 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt @@ -72,6 +72,14 @@ internal class TangemCardTypesResolver( override fun isVoltInuWallet(): Boolean = card.batchId == VOLT_INU_WALLET_BATCH_ID + override fun isVividWallet(): Boolean = card.batchId == VIVID_LEMON_WALLET_BATCH_ID || + card.batchId == VIVID_AQUA_WALLET_BATCH_ID || + card.batchId == VIVID_GRAPEFRUIT_WALLET_BATCH_ID + + override fun isPastelWallet(): Boolean = card.batchId == PASTEL_PEACH_WALLET_BATCH_ID || + card.batchId == PASTEL_GRASS_WALLET_BATCH_ID || + card.batchId == PASTEL_AIR_WALLET_BATCH_ID + override fun isWhiteWallet(): Boolean { return walletData == null && card.firmwareVersion <= FirmwareVersion.HDWalletAvailable } @@ -190,5 +198,13 @@ internal class TangemCardTypesResolver( const val COQ_WALLET_BATCH_ID = "AF28" const val COIN_METRICA_WALLET_BATCH_ID = "AF27" const val VOLT_INU_WALLET_BATCH_ID = "AF35" + // VIVID WALLETS + const val VIVID_LEMON_WALLET_BATCH_ID = "AF40" + const val VIVID_AQUA_WALLET_BATCH_ID = "AF41" + const val VIVID_GRAPEFRUIT_WALLET_BATCH_ID = "AF42" + // PASTEL WALLETS + const val PASTEL_PEACH_WALLET_BATCH_ID = "AF43" + const val PASTEL_AIR_WALLET_BATCH_ID = "AF44" + const val PASTEL_GRASS_WALLET_BATCH_ID = "AF45" } } \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/WalletImageResolver.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/WalletImageResolver.kt index a5691979c9..722f7de8f5 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/WalletImageResolver.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/WalletImageResolver.kt @@ -47,6 +47,8 @@ internal object WalletImageResolver { cardTypesResolver.isCOQWallet() -> userWallet.resolveCOQWallet() cardTypesResolver.isCoinMetricaWallet() -> userWallet.resolveCoinMetricaWallet() cardTypesResolver.isVoltInuWallet() -> userWallet.resolveVoltInuWallet() + cardTypesResolver.isVividWallet() -> userWallet.resolveVividWallet() + cardTypesResolver.isPastelWallet() -> userWallet.resolvePastelWallet() cardTypesResolver.isWallet2() -> userWallet.resolveWallet2() cardTypesResolver.isShibaWallet() -> userWallet.resolveShibaWallet() cardTypesResolver.isTangemWallet() -> userWallet.resolveWallet1() @@ -227,6 +229,22 @@ internal object WalletImageResolver { ) } + private fun UserWallet.resolveVividWallet(): Int? { + // for multicolored cards use image of 3 cards in all cases + return resolveWallet2( + oneBackupResId = R.drawable.ill_vivid_cards3_120_106, + twoBackupResId = R.drawable.ill_vivid_cards3_120_106, + ) + } + + private fun UserWallet.resolvePastelWallet(): Int? { + // for multicolored cards use image of 3 cards in all cases + return resolveWallet2( + oneBackupResId = R.drawable.ill_pastel_cards3_120_106, + twoBackupResId = R.drawable.ill_pastel_cards3_120_106, + ) + } + private fun UserWallet.resolveWallet1(): Int? { return resolveWalletWithBackups { count -> when (count) { diff --git a/features/wallet/impl/src/main/res/drawable/ill_pastel_cards3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_pastel_cards3_120_106.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b024df94de5d539f962e9077dce76848b7977dc GIT binary patch literal 9576 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 K%kM?BfB*n+-b$tb literal 0 HcmV?d00001