Updated on 2026-08-14
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 9.2 KiB |