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 c820434174..f4376a8ef5 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 @@ -10,6 +10,12 @@ interface CardTypesResolver { fun isTangemWallet(): Boolean + fun isWhiteWallet2(): Boolean + + fun isAvroraWallet(): Boolean + + fun isTraillantWallet(): Boolean + fun isShibaWallet(): Boolean fun isTronWallet(): 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 31c86c15b1..f05317c4e6 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 @@ -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" } } \ 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 6bcb1dfe7b..963970f85a 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 @@ -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) { diff --git a/features/wallet/impl/src/main/res/drawable/ill_avrora_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_avrora_card2_120_106.webp new file mode 100644 index 0000000000..3116a4deff Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_avrora_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_avrora_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_avrora_card3_120_106.webp new file mode 100644 index 0000000000..072cc20bd0 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_avrora_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_traillant_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_traillant_card2_120_106.webp new file mode 100644 index 0000000000..093172de11 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_traillant_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_traillant_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_traillant_card3_120_106.webp new file mode 100644 index 0000000000..f4df3e75d6 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_traillant_card3_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_white_card2_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_white_card2_120_106.webp new file mode 100644 index 0000000000..92df1a0685 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_white_card2_120_106.webp differ diff --git a/features/wallet/impl/src/main/res/drawable/ill_white_card3_120_106.webp b/features/wallet/impl/src/main/res/drawable/ill_white_card3_120_106.webp new file mode 100644 index 0000000000..9b3a21ed28 Binary files /dev/null and b/features/wallet/impl/src/main/res/drawable/ill_white_card3_120_106.webp differ