diff --git a/server-android/src/main/java/com/tangem/server_android/data/LocalStorage.kt b/server-android/src/main/java/com/tangem/server_android/data/LocalStorage.kt index b16642a9d9..1fd1168853 100644 --- a/server-android/src/main/java/com/tangem/server_android/data/LocalStorage.kt +++ b/server-android/src/main/java/com/tangem/server_android/data/LocalStorage.kt @@ -228,6 +228,12 @@ class LocalStorage fun getCardArtworkBitmap(card: TangemCard): Bitmap { // special cases (first series of cards, hardcode CID->artwork), on new series batch<->artwork + + if (card.isIDIssuer) { + val artworkId = context.resources.getResourceEntryName(R.drawable.card_default) + return getArtworkBitmap(artworkId) ?: return getDefaultArtworkBitmap(card) + } + val hexCID = Util.bytesToHex(card.cid) val artworkResourceId: Int? = when { hexCID in "AA01000000000000".."AA01000000004999" -> R.drawable.card_ru006 diff --git a/tangem-card-old/src/main/java/com/tangem/tangem_card/data/TangemCard.java b/tangem-card-old/src/main/java/com/tangem/tangem_card/data/TangemCard.java index 7d924574a6..61e7899020 100644 --- a/tangem-card-old/src/main/java/com/tangem/tangem_card/data/TangemCard.java +++ b/tangem-card-old/src/main/java/com/tangem/tangem_card/data/TangemCard.java @@ -634,6 +634,15 @@ public class TangemCard { } } + public boolean isIDIssuer() { + try { + return (productMask & ProductMask.IdIssuer) != 0; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + public TLVList tlvIDCardData = null; public void setTlvIdCardData(TLVList tlvIDCardData) { diff --git a/tangem-card-old/src/main/java/com/tangem/tangem_card/reader/ProductMask.java b/tangem-card-old/src/main/java/com/tangem/tangem_card/reader/ProductMask.java index 15516edaab..d27c81ce38 100644 --- a/tangem-card-old/src/main/java/com/tangem/tangem_card/reader/ProductMask.java +++ b/tangem-card-old/src/main/java/com/tangem/tangem_card/reader/ProductMask.java @@ -8,6 +8,7 @@ public class ProductMask { public static final int Note = 0x0001; public static final int Tag = 0x0002; public static final int IdCard = 0x0004; + public static final int IdIssuer = 0x0008; public static String getDescription(int iValue) { StringBuilder sb = new StringBuilder(); @@ -17,6 +18,8 @@ public class ProductMask { sb.append("Tag, "); if ((iValue & ProductMask.IdCard) != 0) sb.append("IdCard, "); + if ((iValue & ProductMask.IdIssuer) != 0) + sb.append("IdIssuer, "); if (sb.length() > 1) sb.delete(sb.length() - 2, sb.length()); sb.append("]"); diff --git a/tangem-core/src/main/java/com/tangem/commands/ReadCommand.kt b/tangem-core/src/main/java/com/tangem/commands/ReadCommand.kt index 8c1facc79d..c861d73469 100644 --- a/tangem-core/src/main/java/com/tangem/commands/ReadCommand.kt +++ b/tangem-core/src/main/java/com/tangem/commands/ReadCommand.kt @@ -119,7 +119,7 @@ data class ProductMask(val rawValue: Int) { const val note = 0x01 const val tag = 0x02 const val idCard = 0x04 - const val idIssuer = 0x0008 + const val idIssuer = 0x08 } } diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/fromTo/PersonalizeConfigTo.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/fromTo/PersonalizeConfigTo.kt index 73baa0b078..1d887b7a05 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/fromTo/PersonalizeConfigTo.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/converter/fromTo/PersonalizeConfigTo.kt @@ -216,7 +216,7 @@ class PersonalizeConfigToCardConfig : Converter { val isNote = from.cardData.product_note val isTag = from.cardData.product_tag val isIdCard = from.cardData.product_id_card - val isIdIssuer = from.cardData.product_id_card + val isIdIssuer = from.cardData.product_id_issuer val productMaskBuilder = ProductMaskBuilder() if (isNote) productMaskBuilder.add(com.tangem.commands.ProductMask.note)