Updated on 2026-08-14

This commit is contained in:
Tangem 2026-04-29 03:21:00 -07:00
parent fc7b758aff
commit c5d0ba8f58
25 changed files with 448 additions and 133 deletions

View file

@ -211,6 +211,7 @@ internal class GetMultiWalletWarningsFactory @Inject constructor(
is PaymentAccountStatusValue.Locked,
is PaymentAccountStatusValue.UnderReview,
is PaymentAccountStatusValue.Empty,
is PaymentAccountStatusValue.Deactivated,
-> null
}
notification?.let(::add)

View file

@ -240,6 +240,7 @@ internal class GetWalletNotificationsFactory @Inject constructor(
is PaymentAccountStatusValue.Locked,
is PaymentAccountStatusValue.UnderReview,
is PaymentAccountStatusValue.Empty,
is PaymentAccountStatusValue.Deactivated,
-> null
}
notification?.let(::add)

View file

@ -80,6 +80,7 @@ internal class TangemPayUpdateInfoStateTransformer(
cardFrozenState = cardFrozenState,
cardNumberEnd = cardInfo.lastFourDigits,
chainId = POLYGON_CHAIN_ID,
isTangemPayDeactivated = false,
),
)
},

View file

@ -56,6 +56,31 @@ internal class TangemPayMainBlockConverter(
is PaymentAccountStatusValue.Empty -> TangemPayMainUM.Empty
is PaymentAccountStatusValue.NotCreated -> TangemPayMainUM.Empty
is PaymentAccountStatusValue.Loading -> TangemPayMainUM.Loading
is PaymentAccountStatusValue.Deactivated -> TangemPayMainUM.Content(
subtitle = TextReference.Res(R.string.tangempay_status_deactivated),
isBalanceFlickering = statusValue.source == StatusSource.CACHE,
balance = getBalanceText(
currencyCode = statusValue.fiatBalance.currency,
balance = statusValue.fiatBalance.availableBalance,
),
balanceSubtitle = stringReference("USDC"), // TODO hardcode for now
shouldShowOnlyCacheWarning = statusValue.source == StatusSource.ONLY_CACHE,
onClick = {
// Dummy config for deactivated account just to open details screen
tangemPayClickIntents.openDetails(
userWalletId = value.account.userWalletId,
config = TangemPayDetailsConfig(
customerId = "",
cardId = "",
isPinSet = false,
cardFrozenState = TangemPayCardFrozenState.Unfrozen,
cardNumberEnd = "",
chainId = POLYGON_CHAIN_ID,
isTangemPayDeactivated = true,
),
)
},
)
is PaymentAccountStatusValue.Locked -> TangemPayMainUM.Content(
subtitle = stringReference("*${statusValue.lastFourDigits}"),
isBalanceFlickering = statusValue.source == StatusSource.CACHE,
@ -75,6 +100,7 @@ internal class TangemPayMainBlockConverter(
cardFrozenState = TangemPayCardFrozenState.Frozen,
cardNumberEnd = statusValue.lastFourDigits,
chainId = POLYGON_CHAIN_ID,
isTangemPayDeactivated = false,
),
)
},
@ -98,6 +124,7 @@ internal class TangemPayMainBlockConverter(
cardFrozenState = TangemPayCardFrozenState.Unfrozen,
cardNumberEnd = statusValue.lastFourDigits,
chainId = POLYGON_CHAIN_ID,
isTangemPayDeactivated = false,
),
)
},

View file

@ -65,11 +65,6 @@ internal class TangemPayMainSubscriber @AssistedInject constructor(
TangemPayCustomerInfoError.ExposedDeviceError -> {
stateController.update(TangemPayExposedDeviceTransformer(userWalletId))
}
TangemPayCustomerInfoError.DeactivatedError -> {
stateController.update(
transformer = TangemPayHiddenStateTransformer(userWalletId),
)
}
TangemPayCustomerInfoError.UnknownError -> {
// hide TangemPay block
TangemLogger.e("Failed when loading main screen TangemPay info: $tangemPayError")