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 0000000000..1b024df94d Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_pastel_cards3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_vivid_cards3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_vivid_cards3_120_106.webp new file mode 100644 index 0000000000..ecc36428ee Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_vivid_cards3_120_106.webp differ