diff --git a/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt b/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt index 62bf089c7a..32cbc3153f 100644 --- a/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt +++ b/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt @@ -1,5 +1,7 @@ package com.tangem.tap.domain.twins +import com.tangem.commands.common.card.Card +import com.tangem.commands.common.card.masks.Product import com.tangem.tap.common.extensions.isEven class TwinsHelper { @@ -63,4 +65,14 @@ enum class TwinCardNumber(val number: Int) { First -> Second Second -> First } +} + +fun Card.isTwinCard(): Boolean { + return this.cardData?.productMask?.contains(Product.TwinCard) == true +} + +fun Card.getTwinCardIdForUser(): String { + val twinCardId = this.cardId.substring(11..14) + val twinCardNumber = TwinsHelper.getTwinCardNumber(this.cardId)?.number ?: 1 + return "$twinCardId #$twinCardNumber" } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt index 6ad375022a..59cd043015 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt @@ -8,6 +8,8 @@ import androidx.transition.TransitionInflater import com.tangem.tap.common.extensions.hide import com.tangem.tap.common.extensions.show import com.tangem.tap.common.redux.navigation.NavigationAction +import com.tangem.tap.domain.twins.getTwinCardIdForUser +import com.tangem.tap.domain.twins.isTwinCard import com.tangem.tap.features.details.redux.DetailsAction import com.tangem.tap.features.details.redux.DetailsState import com.tangem.tap.features.details.redux.SecurityOption @@ -61,11 +63,20 @@ class DetailsFragment : Fragment(R.layout.fragment_details), StoreSubscriber 0) { @@ -255,6 +257,8 @@ class WalletMiddleware { val card = store.state.globalState.scanNoteResponse?.card if (card == null || preferencesStorage.wasCardScannedBefore(card.cardId)) return + if (card.isTwinCard()) return + val validator = store.state.globalState.scanNoteResponse?.walletManager as? SignatureCountValidator scope.launch { diff --git a/app/src/main/res/layout/fragment_details.xml b/app/src/main/res/layout/fragment_details.xml index 65db1c16db..7a99598875 100644 --- a/app/src/main/res/layout/fragment_details.xml +++ b/app/src/main/res/layout/fragment_details.xml @@ -47,7 +47,7 @@ android:id="@+id/tv_card_id_title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingBottom="14dp" + android:paddingBottom="7dp" android:text="@string/details_row_title_cid" android:textColor="@color/darkGray6" android:textSize="16sp" @@ -59,7 +59,7 @@ android:id="@+id/tv_card_id" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingBottom="14dp" + android:paddingBottom="7dp" android:textColor="@color/darkGray1" android:textSize="16sp" app:layout_constraintEnd_toEndOf="parent" @@ -70,7 +70,8 @@ android:id="@+id/tv_issuer_title" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingBottom="14dp" + android:paddingTop="7dp" + android:paddingBottom="7dp" android:text="@string/details_row_title_issuer" android:textColor="@color/darkGray6" android:textSize="16sp" @@ -81,7 +82,8 @@ android:id="@+id/tv_issuer" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingBottom="14dp" + android:paddingTop="7dp" + android:paddingBottom="7dp" android:textColor="@color/darkGray1" android:textSize="16sp" app:layout_constraintEnd_toEndOf="parent" @@ -92,6 +94,7 @@ android:id="@+id/tv_signed_hashes_title" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:paddingTop="7dp" android:paddingBottom="7dp" android:text="@string/details_row_title_signed_hashes" android:textColor="@color/darkGray6"