From 7bed9c04d175ae61be2192107401b90560a0b5b4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 2 Jun 2026 16:31:33 +0500 Subject: [PATCH] Updated on 2026-08-14 --- app/src/main/java/com/tangem/tap/MainActivity.kt | 4 ++-- .../deeplink/PayloadToDeeplinkConverterTest.kt | 8 ++++---- .../visa/model/TangemPayPushNotificationType.kt | 6 ++++-- .../TangemPayTxHistoryDetailsConverter.kt | 2 +- .../deeplink/DefaultTangemPayMainDeepLinkHandler.kt | 12 ++++++------ .../tangempay/deeplink/TangemPayPushAction.kt | 6 ++---- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/MainActivity.kt b/app/src/main/java/com/tangem/tap/MainActivity.kt index e998374c66..b2aa247f2c 100644 --- a/app/src/main/java/com/tangem/tap/MainActivity.kt +++ b/app/src/main/java/com/tangem/tap/MainActivity.kt @@ -19,10 +19,10 @@ import androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier -import androidx.compose.ui.semantics.semantics -import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.core.net.toUri import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen import androidx.lifecycle.flowWithLifecycle diff --git a/common/routing/src/test/kotlin/com/tangem/common/routing/deeplink/PayloadToDeeplinkConverterTest.kt b/common/routing/src/test/kotlin/com/tangem/common/routing/deeplink/PayloadToDeeplinkConverterTest.kt index 8dd6c1ba5d..d60ee79c7c 100644 --- a/common/routing/src/test/kotlin/com/tangem/common/routing/deeplink/PayloadToDeeplinkConverterTest.kt +++ b/common/routing/src/test/kotlin/com/tangem/common/routing/deeplink/PayloadToDeeplinkConverterTest.kt @@ -1,8 +1,8 @@ package com.tangem.common.routing.deeplink import com.google.common.truth.Truth.assertThat -import com.tangem.common.routing.deeplink.DeeplinkConst.DEEPLINK_KEY import com.tangem.common.routing.deeplink.DeeplinkConst.CUSTOMER_WALLET_ID_KEY +import com.tangem.common.routing.deeplink.DeeplinkConst.DEEPLINK_KEY import com.tangem.common.routing.deeplink.DeeplinkConst.DERIVATION_PATH_KEY import com.tangem.common.routing.deeplink.DeeplinkConst.NETWORK_ID_KEY import com.tangem.common.routing.deeplink.DeeplinkConst.TOKEN_ID_KEY @@ -188,7 +188,7 @@ internal class PayloadToDeeplinkConverterTest { fun `GIVEN tangem pay top_up push payload WHEN convert THEN should return pay-app-main deeplink`() { // GIVEN val payload = mapOf( - TYPE_KEY to TangemPayPushNotificationType.TOP_UP.value, + TYPE_KEY to TangemPayPushNotificationType.DECLINED_TOP_UP.value, CUSTOMER_WALLET_ID_KEY to "wallet123", TRANSACTION_ID_KEY to "test456", ) @@ -206,7 +206,7 @@ internal class PayloadToDeeplinkConverterTest { fun `GIVEN tangem pay collateral push payload WHEN convert THEN should return pay-app-main deeplink`() { // GIVEN val payload = mapOf( - TYPE_KEY to TangemPayPushNotificationType.COLLATERAL.value, + TYPE_KEY to TangemPayPushNotificationType.COLLATERAL_DEPOSIT.value, CUSTOMER_WALLET_ID_KEY to "wallet123", ) @@ -215,7 +215,7 @@ internal class PayloadToDeeplinkConverterTest { // THEN assertThat(result).isEqualTo( - "tangem://pay-app-main?type=collateral&customer_wallet_id=wallet123", + "tangem://pay-app-main?type=collateral_deposit&customer_wallet_id=wallet123", ) } diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayPushNotificationType.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayPushNotificationType.kt index 1ff9b157c8..a45bf3886f 100644 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayPushNotificationType.kt +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayPushNotificationType.kt @@ -3,8 +3,10 @@ package com.tangem.domain.visa.model enum class TangemPayPushNotificationType(val value: String) { CARD_READY("card_ready"), TRANSACTION_SPEND("transaction_spend"), - TOP_UP("declined_top_up"), - COLLATERAL("collateral"), + DECLINED_TOP_UP("declined_top_up"), + COLLATERAL_WITHDRAW("collateral_withdraw"), + COLLATERAL_DEPOSIT("collateral_deposit"), + TRANSACTION_SPEND_REFUND("transaction_spend_refund"), ; companion object { diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt index b15f718595..770d13241b 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt @@ -62,7 +62,7 @@ internal object TangemPayTxHistoryDetailsConverter : is TangemPayTxHistoryItem.Payment -> ImageReference.Res(R.drawable.ic_arrow_up_24) is TangemPayTxHistoryItem.Spend -> { val merchantIcon = this.enrichedMerchantIconUrl - if (merchantIcon != null) { + if (!merchantIcon.isNullOrEmpty()) { ImageReference.Url(merchantIcon) } else { ImageReference.Res(R.drawable.ic_category_24) diff --git a/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/deeplink/DefaultTangemPayMainDeepLinkHandler.kt b/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/deeplink/DefaultTangemPayMainDeepLinkHandler.kt index d130d1683f..ef2a0b7745 100644 --- a/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/deeplink/DefaultTangemPayMainDeepLinkHandler.kt +++ b/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/deeplink/DefaultTangemPayMainDeepLinkHandler.kt @@ -61,9 +61,7 @@ internal class DefaultTangemPayMainDeepLinkHandler @AssistedInject constructor( onComplete = { walletDeepLinkActionTrigger.selectWallet(userWalletId) when (pushAction) { - is TangemPayPushAction.CardReady, - is TangemPayPushAction.TopUp, - -> navigateToTangemPayDetails(userWalletId) + is TangemPayPushAction.CardReady -> navigateToTangemPayDetails(userWalletId) is TangemPayPushAction.TransactionSpend -> { walletDeepLinkActionTrigger.showTangemPayTransaction( transaction = pushAction.transaction, @@ -89,12 +87,14 @@ internal class DefaultTangemPayMainDeepLinkHandler @AssistedInject constructor( return when (type) { TangemPayPushNotificationType.CARD_READY -> TangemPayPushAction.CardReady - TangemPayPushNotificationType.TRANSACTION_SPEND -> { + TangemPayPushNotificationType.TRANSACTION_SPEND, + TangemPayPushNotificationType.TRANSACTION_SPEND_REFUND, + TangemPayPushNotificationType.DECLINED_TOP_UP, + -> { val transaction = TangemPayPushPayloadToTxHistoryItemConverter.convertSpend(payload) if (transaction != null) TangemPayPushAction.TransactionSpend(transaction, customerId) else null } - TangemPayPushNotificationType.TOP_UP -> TangemPayPushAction.TopUp - TangemPayPushNotificationType.COLLATERAL -> { + TangemPayPushNotificationType.COLLATERAL_DEPOSIT, TangemPayPushNotificationType.COLLATERAL_WITHDRAW -> { val transaction = TangemPayPushPayloadToTxHistoryItemConverter.convertCollateral(payload) if (transaction != null) TangemPayPushAction.CollateralTransaction(transaction, customerId) else null } diff --git a/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/deeplink/TangemPayPushAction.kt b/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/deeplink/TangemPayPushAction.kt index 4ae61bc268..2808e28da9 100644 --- a/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/deeplink/TangemPayPushAction.kt +++ b/features/tangempay/onboarding/impl/src/main/kotlin/com/tangem/features/tangempay/deeplink/TangemPayPushAction.kt @@ -7,14 +7,12 @@ internal sealed class TangemPayPushAction { data object CardReady : TangemPayPushAction() data class TransactionSpend( - val transaction: TangemPayTxHistoryItem, + val transaction: TangemPayTxHistoryItem.Spend, val customerId: String, ) : TangemPayPushAction() - data object TopUp : TangemPayPushAction() - data class CollateralTransaction( - val transaction: TangemPayTxHistoryItem, + val transaction: TangemPayTxHistoryItem.Collateral, val customerId: String, ) : TangemPayPushAction() } \ No newline at end of file