Updated on 2026-08-14

This commit is contained in:
Tangem 2024-01-19 14:06:07 +01:00
parent 3d73befd95
commit c2e1609281
9 changed files with 40 additions and 0 deletions

View file

@ -10,6 +10,12 @@ interface CardTypesResolver {
fun isTangemWallet(): Boolean
fun isWhiteWallet2(): Boolean
fun isAvroraWallet(): Boolean
fun isTraillantWallet(): Boolean
fun isShibaWallet(): Boolean
fun isTronWallet(): Boolean

View file

@ -26,6 +26,12 @@ internal class TangemCardTypesResolver(
card.firmwareVersion >= FirmwareVersion.MultiWalletAvailable
}
override fun isWhiteWallet2(): Boolean = card.batchId == WHITE_WALLET2_BATCH_ID
override fun isAvroraWallet(): Boolean = card.batchId == AVRORA_WALLET_BATCH_ID
override fun isTraillantWallet(): Boolean = card.batchId == TRILLIANT_WALLET_BATCH_ID
override fun isShibaWallet(): Boolean {
return card.firmwareVersion.compareTo(FirmwareVersion.KeysImportAvailable) == 0
}
@ -132,5 +138,8 @@ internal class TangemCardTypesResolver(
const val TRON_WALLET_BATCH_ID = "AF07"
const val KASPA_WALLET_BATCH_ID = "AF08"
const val BAD_WALLET_BATCH_ID = "AF09"
const val WHITE_WALLET2_BATCH_ID = "AF15"
const val TRILLIANT_WALLET_BATCH_ID = "AF16"
const val AVRORA_WALLET_BATCH_ID = "AF18"
}
}

View file

@ -19,11 +19,15 @@ internal object WalletImageResolver {
private const val WALLET_WITH_TWO_BACKUPS_COUNT = 3
/** Get a specified wallet [userWallet] image */
@Suppress("CyclomaticComplexMethod")
@DrawableRes
fun resolve(userWallet: UserWallet): Int? {
val cardTypesResolver = userWallet.scanResponse.cardTypesResolver
return when {
cardTypesResolver.isDevKit() -> R.drawable.ill_dev_120_106
cardTypesResolver.isWhiteWallet2() -> userWallet.resolveWhiteWallet2()
cardTypesResolver.isAvroraWallet() -> userWallet.resolveAvroraWallet()
cardTypesResolver.isTraillantWallet() -> userWallet.resolveTraillantWallet()
cardTypesResolver.isTronWallet() -> userWallet.resolveTronWallet()
cardTypesResolver.isKaspaWallet() -> userWallet.resolveKaspaWallet()
cardTypesResolver.isBadWallet() -> userWallet.resolveBadWallet()
@ -81,6 +85,27 @@ internal object WalletImageResolver {
)
}
private fun UserWallet.resolveWhiteWallet2(): Int? {
return resolveWallet2(
oneBackupResId = R.drawable.ill_white_card2_120_106,
twoBackupResId = R.drawable.ill_white_card3_120_106,
)
}
private fun UserWallet.resolveAvroraWallet(): Int? {
return resolveWallet2(
oneBackupResId = R.drawable.ill_avrora_card2_120_106,
twoBackupResId = R.drawable.ill_avrora_card3_120_106,
)
}
private fun UserWallet.resolveTraillantWallet(): Int? {
return resolveWallet2(
oneBackupResId = R.drawable.ill_traillant_card2_120_106,
twoBackupResId = R.drawable.ill_traillant_card3_120_106,
)
}
private fun UserWallet.resolveWallet1(): Int? {
return resolveWalletWithBackups { count ->
when (count) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB