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 56a874bd6a..0a0a7eee52 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 @@ -22,6 +22,10 @@ interface CardTypesResolver { fun isKaspaWallet(): Boolean + fun isKaspa2Wallet(): Boolean + + fun isKaspaResellerWallet(): Boolean + fun isBadWallet(): Boolean fun isJrWallet(): Boolean @@ -36,6 +40,20 @@ interface CardTypesResolver { fun isNewWorldEliteWallet(): Boolean + fun isRedPandaWallet(): Boolean + + fun isCryptoSethWallet(): Boolean + + fun isKishuInuWallet(): Boolean + + fun isBabyDogeWallet(): Boolean + + fun isCOQWallet(): Boolean + + fun isCoinMetricaWallet(): Boolean + + fun isVoltInuWallet(): 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 8c3a6ec485..f43573bf37 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 @@ -40,6 +40,10 @@ internal class TangemCardTypesResolver( override fun isKaspaWallet(): Boolean = card.batchId == KASPA_WALLET_BATCH_ID + override fun isKaspa2Wallet(): Boolean = card.batchId == KASPA2_WALLET_BATCH_ID + + override fun isKaspaResellerWallet(): Boolean = card.batchId == KASPA_RESELLER_WALLET_BATCH_ID + override fun isBadWallet(): Boolean = card.batchId == BAD_WALLET_BATCH_ID override fun isJrWallet(): Boolean = card.batchId == JR_WALLET_BATCH_ID @@ -54,6 +58,20 @@ internal class TangemCardTypesResolver( override fun isNewWorldEliteWallet(): Boolean = card.batchId == NEW_WORLD_ELITE_WALLET_BATCH_ID + override fun isRedPandaWallet(): Boolean = card.batchId == RED_PANDA_WALLET_BATCH_ID + + override fun isCryptoSethWallet(): Boolean = card.batchId == CRYPTO_SETH_WALLET_BATCH_ID + + override fun isKishuInuWallet(): Boolean = card.batchId == KISHU_INU_WALLET_BATCH_ID + + override fun isBabyDogeWallet(): Boolean = card.batchId == BABY_DOGE_WALLET_BATCH_ID + + override fun isCOQWallet(): Boolean = card.batchId == COQ_WALLET_BATCH_ID + + override fun isCoinMetricaWallet(): Boolean = card.batchId == COIN_METRICA_WALLET_BATCH_ID + + override fun isVoltInuWallet(): Boolean = card.batchId == VOLT_INU_WALLET_BATCH_ID + override fun isWhiteWallet(): Boolean { return walletData == null && card.firmwareVersion <= FirmwareVersion.HDWalletAvailable } @@ -153,6 +171,8 @@ internal class TangemCardTypesResolver( const val DEV_KIT_CARD_BATCH_ID = "CB83" const val TRON_WALLET_BATCH_ID = "AF07" const val KASPA_WALLET_BATCH_ID = "AF08" + const val KASPA2_WALLET_BATCH_ID = "AF25" + const val KASPA_RESELLER_WALLET_BATCH_ID = "AF31" const val BAD_WALLET_BATCH_ID = "AF09" const val JR_WALLET_BATCH_ID = "AF14" const val GRIM_WALLET_BATCH_ID = "AF13" @@ -163,5 +183,12 @@ internal class TangemCardTypesResolver( const val BITCOIN_PIZZA_DAY_WALLET_BATCH_ID = "AF33" const val VECHAIN_WALLET_BATCH_ID = "AF29" const val NEW_WORLD_ELITE_WALLET_BATCH_ID = "AF26" + const val RED_PANDA_WALLET_BATCH_ID = "AF34" + const val CRYPTO_SETH_WALLET_BATCH_ID = "AF32" + const val KISHU_INU_WALLET_BATCH_ID = "AF52" + const val BABY_DOGE_WALLET_BATCH_ID = "AF51" + const val COQ_WALLET_BATCH_ID = "AF28" + const val COIN_METRICA_WALLET_BATCH_ID = "AF27" + const val VOLT_INU_WALLET_BATCH_ID = "AF35" } } \ 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 3613a6439a..a5691979c9 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 @@ -12,6 +12,7 @@ import com.tangem.feature.wallet.impl.R * [REDACTED_AUTHOR] */ +// TODO: make flexible to integrate cobrands ([REDACTED_JIRA]) internal object WalletImageResolver { private const val WALLET_WITHOUT_BACKUP_COUNT = 1 @@ -30,6 +31,8 @@ internal object WalletImageResolver { cardTypesResolver.isTraillantWallet() -> userWallet.resolveTraillantWallet() cardTypesResolver.isTronWallet() -> userWallet.resolveTronWallet() cardTypesResolver.isKaspaWallet() -> userWallet.resolveKaspaWallet() + cardTypesResolver.isKaspa2Wallet() -> userWallet.resolveKaspa2Wallet() + cardTypesResolver.isKaspaResellerWallet() -> userWallet.resolveKaspaResellerWallet() cardTypesResolver.isBadWallet() -> userWallet.resolveBadWallet() cardTypesResolver.isJrWallet() -> userWallet.resolveJrWallet() cardTypesResolver.isGrimWallet() -> userWallet.resolveGrimWallet() @@ -37,6 +40,13 @@ internal object WalletImageResolver { cardTypesResolver.isBitcoinPizzaDayWallet() -> userWallet.resolveBitcoinPizzaDayWallet() cardTypesResolver.isVeChainWallet() -> userWallet.resolveVeChainWallet() cardTypesResolver.isNewWorldEliteWallet() -> userWallet.resolveNewWorldEliteWallet() + cardTypesResolver.isRedPandaWallet() -> userWallet.resolveRedPandaWallet() + cardTypesResolver.isCryptoSethWallet() -> userWallet.resolveCryptoSethWallet() + cardTypesResolver.isKishuInuWallet() -> userWallet.resolveKishuInuWallet() + cardTypesResolver.isBabyDogeWallet() -> userWallet.resolveBabyDogeWallet() + cardTypesResolver.isCOQWallet() -> userWallet.resolveCOQWallet() + cardTypesResolver.isCoinMetricaWallet() -> userWallet.resolveCoinMetricaWallet() + cardTypesResolver.isVoltInuWallet() -> userWallet.resolveVoltInuWallet() cardTypesResolver.isWallet2() -> userWallet.resolveWallet2() cardTypesResolver.isShibaWallet() -> userWallet.resolveShibaWallet() cardTypesResolver.isTangemWallet() -> userWallet.resolveWallet1() @@ -77,6 +87,20 @@ internal object WalletImageResolver { ) } + private fun UserWallet.resolveKaspa2Wallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_kaspa2_card2_120_106, + twoBackupResId = R.drawable.ill_kaspa2_card3_120_106, + ) + } + + private fun UserWallet.resolveKaspaResellerWallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_kaspa_reseller_card2_120_106, + twoBackupResId = R.drawable.ill_kaspa_reseller_card3_120_106, + ) + } + private fun UserWallet.resolveBadWallet(): Int? { return resolveWallet2( oneBackupResId = R.drawable.ill_bad_card2_120_106, @@ -154,6 +178,55 @@ internal object WalletImageResolver { ) } + private fun UserWallet.resolveRedPandaWallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_red_panda_card2_120_106, + twoBackupResId = R.drawable.ill_red_panda_card3_120_106, + ) + } + + private fun UserWallet.resolveCryptoSethWallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_crypto_seth_card2_120_106, + twoBackupResId = R.drawable.ill_crypto_seth_card3_120_106, + ) + } + + private fun UserWallet.resolveKishuInuWallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_kishu_inu_card2_120_106, + twoBackupResId = R.drawable.ill_kishu_inu_card3_120_106, + ) + } + + private fun UserWallet.resolveBabyDogeWallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_baby_doge_card2_120_106, + twoBackupResId = R.drawable.ill_baby_doge_card3_120_106, + ) + } + + private fun UserWallet.resolveCOQWallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_coq_card2_120_106, + twoBackupResId = R.drawable.ill_coq_card3_120_106, + ) + } + + private fun UserWallet.resolveCoinMetricaWallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_coin_metrica_card2_120_106, + twoBackupResId = R.drawable.ill_coin_metrica_card3_120_106, + ) + } + + private fun UserWallet.resolveVoltInuWallet(): Int? { + return resolveWallet2( + oneBackupResId = R.drawable.ill_volt_inu_card2_120_106, + twoBackupResId = R.drawable.ill_volt_inu_card3_120_106, + ) + } + private fun UserWallet.resolveWallet1(): Int? { return resolveWalletWithBackups { count -> when (count) { diff --git a/features/wallet/impl/src/main/res/drawable/ill_baby_doge_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_baby_doge_card2_120_106.webp new file mode 100644 index 0000000000..bce39da73f Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_baby_doge_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_baby_doge_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_baby_doge_card3_120_106.webp new file mode 100644 index 0000000000..4ff9c26b80 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_baby_doge_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_coin_metrica_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_coin_metrica_card2_120_106.webp new file mode 100644 index 0000000000..f643bedab8 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_coin_metrica_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_coin_metrica_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_coin_metrica_card3_120_106.webp new file mode 100644 index 0000000000..5138a42f01 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_coin_metrica_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_coq_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_coq_card2_120_106.webp new file mode 100644 index 0000000000..124dc17d02 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_coq_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_coq_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_coq_card3_120_106.webp new file mode 100644 index 0000000000..496b98b4c3 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_coq_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_crypto_seth_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_crypto_seth_card2_120_106.webp new file mode 100644 index 0000000000..cd6cf7cf0f Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_crypto_seth_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_crypto_seth_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_crypto_seth_card3_120_106.webp new file mode 100644 index 0000000000..6c7efa8fa9 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_crypto_seth_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_kaspa2_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_kaspa2_card2_120_106.webp new file mode 100644 index 0000000000..a9adee3779 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_kaspa2_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_kaspa2_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_kaspa2_card3_120_106.webp new file mode 100644 index 0000000000..d1fa485038 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_kaspa2_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_kaspa_reseller_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_kaspa_reseller_card2_120_106.webp new file mode 100644 index 0000000000..726d48f1f9 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_kaspa_reseller_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_kaspa_reseller_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_kaspa_reseller_card3_120_106.webp new file mode 100644 index 0000000000..7374ebe3d6 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_kaspa_reseller_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_kishu_inu_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_kishu_inu_card2_120_106.webp new file mode 100644 index 0000000000..f308876d94 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_kishu_inu_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_kishu_inu_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_kishu_inu_card3_120_106.webp new file mode 100644 index 0000000000..f839b222e1 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_kishu_inu_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_red_panda_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_red_panda_card2_120_106.webp new file mode 100644 index 0000000000..826886502a Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_red_panda_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_red_panda_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_red_panda_card3_120_106.webp new file mode 100644 index 0000000000..a66e0a3755 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_red_panda_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_volt_inu_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_volt_inu_card2_120_106.webp new file mode 100644 index 0000000000..308bc9ecf9 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_volt_inu_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_volt_inu_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_volt_inu_card3_120_106.webp new file mode 100644 index 0000000000..5df3d2bc27 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_volt_inu_card3_120_106.webp differ