From e578f1cdfe3c5a9665548f4e05ced999fe86a4fa Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 3 Oct 2024 19:20:00 +0300 Subject: [PATCH 01/12] Updated on 2026-08-14 --- .../tap/domain/tasks/product/ScanProductTask.kt | 3 ++- .../products/wallet/redux/OnboardingWalletAction.kt | 3 ++- .../wallet/redux/OnboardingWalletMiddleware.kt | 11 +++++++++-- .../products/wallet/redux/OnboardingWalletReducer.kt | 9 ++++++--- .../products/wallet/redux/OnboardingWalletState.kt | 3 ++- .../kotlin/com/tangem/domain/models/scan/CardDTO.kt | 1 + gradle/dependencies.toml | 2 +- 7 files changed, 23 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/product/ScanProductTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/product/ScanProductTask.kt index d72eb92e23..2fcfc2411a 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/product/ScanProductTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/product/ScanProductTask.kt @@ -24,6 +24,7 @@ import com.tangem.domain.common.configs.CardConfig import com.tangem.domain.common.util.derivationStyleProvider import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_IDS +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_PREFIX import com.tangem.domain.models.scan.ProductType import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.ScanTask @@ -248,7 +249,7 @@ private class ScanWalletProcessor( } private fun getWalletProductType(card: CardDTO): ProductType { - if (RING_BATCH_IDS.contains(card.batchId)) { + if (RING_BATCH_IDS.contains(card.batchId) || card.batchId.startsWith(RING_BATCH_PREFIX)) { return ProductType.Ring } return if (card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt index 3538c3bb27..9ec732f54d 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt @@ -2,6 +2,7 @@ package com.tangem.tap.features.onboarding.products.wallet.redux import android.net.Uri import com.tangem.common.CompletionResult +import com.tangem.common.card.Card import com.tangem.feature.onboarding.data.model.CreateWalletResponse import com.tangem.feature.onboarding.presentation.wallet2.analytics.SeedPhraseSource import com.tangem.tap.domain.tasks.product.CreateProductWalletTaskResponse @@ -68,7 +69,7 @@ sealed class BackupAction : Action { data object StartAddingBackupCards : BackupAction() data object AddBackupCard : BackupAction() { - data object Success : BackupAction() + data class Success(val card: Card) : BackupAction() data class ChangeButtonLoading(val isLoading: Boolean) : BackupAction() } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt index 95b2fd2452..045c4a5887 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt @@ -442,7 +442,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) when (result) { is CompletionResult.Success -> { updateArtworks(backupService.addedBackupCardsCount, result.data) - store.dispatchOnMain(BackupAction.AddBackupCard.Success) + store.dispatchOnMain(BackupAction.AddBackupCard.Success(result.data)) } is CompletionResult.Failure -> { val crashlytics = FirebaseCrashlytics.getInstance() @@ -511,7 +511,14 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) } } is BackupAction.WriteBackupCard -> { - backupService.proceedBackup { result -> + val cardIndex = if (action.cardNumber > 0) action.cardNumber - 1 else action.cardNumber + val backupCard = backupState.backupCards.getOrNull(cardIndex) + val iconScanRes = if (backupCard?.batchId?.startsWith(CardDTO.RING_BATCH_PREFIX) == true) { + R.drawable.img_hand_scan_ring + } else { + null + } + backupService.proceedBackup(iconScanRes = iconScanRes) { result -> when (result) { is CompletionResult.Success -> { val backupValidator = BackupValidator() diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index 035db68bae..76a963d1b9 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -1,6 +1,5 @@ package com.tangem.tap.features.onboarding.products.wallet.redux -import com.tangem.domain.common.util.cardTypesResolver import com.tangem.tap.backupService import com.tangem.tap.common.redux.AppState import com.tangem.tap.common.redux.global.GlobalAction @@ -53,7 +52,6 @@ private object ReducerForGlobalAction { maxBackupCards = MAX_BACKUP_CARDS, canSkipBackup = action.canSkipBackup, ), - isRingOnboarding = action.scanResponse.cardTypesResolver.isRing(), ) } is GlobalAction.Onboarding.StartForUnfinishedBackup -> { @@ -92,7 +90,12 @@ private object BackupReducer { ) BackupAction.StartAddingPrimaryCard -> state.copy(backupStep = BackupStep.ScanOriginCard) BackupAction.StartAddingBackupCards -> state.copy(backupStep = BackupStep.AddBackupCards) - BackupAction.AddBackupCard.Success -> state.copy(backupCardsNumber = state.backupCardsNumber + 1) + is BackupAction.AddBackupCard.Success -> { + state.copy( + backupCards = state.backupCards + action.card, + backupCardsNumber = state.backupCardsNumber + 1, + ) + } is BackupAction.AddBackupCard.ChangeButtonLoading -> state.copy(showBtnLoading = action.isLoading) BackupAction.ShowAccessCodeInfoScreen -> state.copy(backupStep = BackupStep.SetAccessCode) BackupAction.ShowEnterAccessCodeScreen -> state.copy( diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt index 853678f202..1e3fbf3a67 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt @@ -2,6 +2,7 @@ package com.tangem.tap.features.onboarding.products.wallet.redux import android.graphics.Bitmap import android.net.Uri +import com.tangem.common.card.Card import com.tangem.domain.redux.StateDialog import org.rekotlin.StateType @@ -14,7 +15,6 @@ data class OnboardingWalletState( val backupState: BackupState = BackupState(), val walletImages: WalletImages = WalletImages(), val showConfetti: Boolean = false, - val isRingOnboarding: Boolean = false, ) : StateType { @Suppress("MagicNumber") @@ -66,6 +66,7 @@ enum class OnboardingWalletStep { data class BackupState( val primaryCardId: String? = null, val backupCardsNumber: Int = 0, + val backupCards: List = emptyList(), val backupCardIds: List = emptyList(), @Transient val backupCardsArtworks: Map = emptyMap(), diff --git a/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt index fcce746f21..706e05a1e5 100644 --- a/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt +++ b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt @@ -323,5 +323,6 @@ data class CardDTO( companion object { val RING_BATCH_IDS = listOf("AC17", "BA01") + const val RING_BATCH_PREFIX = "BA" } } \ No newline at end of file diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index ab6f07950a..f647d69b87 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -91,7 +91,7 @@ markdownComposeView = "0.5.4" # region Tangem tangemBlockchainSdk = "release-app_5.16-807" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "release-app_5.16-386" +tangemCardSdk = "release-app_5.16-388" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem17" #tangemVico = "0.0.1" # Keep it! - used for local builds ^ From 898edd2b16afeb264159fb82a829e567e3f28ea8 Mon Sep 17 00:00:00 2001 From: Tangem Date: Sun, 6 Oct 2024 12:25:23 +0400 Subject: [PATCH 02/12] Updated on 2026-08-14 --- .../wallet/ui/components/common/WalletCard.kt | 79 ++++++++++--------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletCard.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletCard.kt index 6ceb82e75c..55ca2d223b 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletCard.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletCard.kt @@ -1,11 +1,12 @@ package com.tangem.feature.wallet.presentation.wallet.ui.components.common import android.content.res.Configuration -import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import androidx.compose.animation.* +import androidx.compose.animation.AnimatedContent import androidx.compose.animation.core.tween -import androidx.compose.foundation.Image +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.animation.togetherWith import androidx.compose.foundation.LocalIndication import androidx.compose.foundation.background import androidx.compose.foundation.gestures.detectTapGestures @@ -25,11 +26,9 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.input.pointer.pointerInput -import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalHapticFeedback -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview @@ -55,7 +54,7 @@ import com.tangem.feature.wallet.impl.R import com.tangem.feature.wallet.presentation.common.WalletPreviewData import com.tangem.feature.wallet.presentation.wallet.state.model.WalletCardState -private const val HALF_OF_ITEM_WIDTH = 0.5 +// private const val HALF_OF_ITEM_WIDTH = 0.5 /** * Wallet card @@ -117,31 +116,33 @@ internal fun WalletCard(state: WalletCardState, isBalanceHidden: Boolean, modifi bottom.linkTo(anchor = parent.bottom, margin = contentVerticalMargin) if (additionalText != null) { - width = if (state.imageResId != null) { - end.linkTo(imageRef.start) - Dimension.fillToConstraints - } else { - Dimension.wrapContent - } + width = Dimension.wrapContent + // TODO: [REDACTED_JIRA] + // width = if (state.imageResId != null) { + // end.linkTo(imageRef.start) + // Dimension.fillToConstraints + // } else { + // Dimension.wrapContent + // } } }, ) + // TODO: [REDACTED_JIRA] // If balance has a large width then image must be hidden - val hasSpaceForImage by remember(key1 = balanceWidth, key2 = itemSize.width) { - mutableStateOf(value = balanceWidth < itemSize.width * HALF_OF_ITEM_WIDTH) - } - - if (hasSpaceForImage) { - Image( - id = state.imageResId, - modifier = Modifier.constrainAs(imageRef) { - end.linkTo(parent.end) - bottom.linkTo(parent.bottom) - height = Dimension.fillToConstraints - }, - ) - } + // val hasSpaceForImage by remember(key1 = balanceWidth, key2 = itemSize.width) { + // mutableStateOf(value = balanceWidth < itemSize.width * HALF_OF_ITEM_WIDTH) + // } + // if (hasSpaceForImage) { + // Image( + // id = state.imageResId, + // modifier = Modifier.constrainAs(imageRef) { + // end.linkTo(parent.end) + // bottom.linkTo(parent.bottom) + // height = Dimension.fillToConstraints + // }, + // ) + // } } } @@ -370,19 +371,19 @@ private fun LockedContent(modifier: Modifier = Modifier) { ) } -@Composable -private fun Image(@DrawableRes id: Int?, modifier: Modifier = Modifier) { - AnimatedVisibility(visible = id != null, modifier = modifier) { - val imageRes = id ?: return@AnimatedVisibility - - Image( - painter = painterResource(id = imageRes), - contentDescription = null, - modifier = Modifier.width(width = TangemTheme.dimens.size120), - contentScale = ContentScale.FillWidth, - ) - } -} +// @Composable +// private fun Image(@DrawableRes id: Int?, modifier: Modifier = Modifier) { +// AnimatedVisibility(visible = id != null, modifier = modifier) { +// val imageRes = id ?: return@AnimatedVisibility +// +// Image( +// painter = painterResource(id = imageRes), +// contentDescription = null, +// modifier = Modifier.width(width = TangemTheme.dimens.size120), +// contentScale = ContentScale.FillWidth, +// ) +// } +// } // region Preview From 5516e706aaef52bdec314cdf5162c34e3fd8e3db Mon Sep 17 00:00:00 2001 From: Tangem Date: Sun, 6 Oct 2024 12:16:42 +0400 Subject: [PATCH 03/12] Updated on 2026-08-14 --- .../wallet/redux/OnboardingWalletAction.kt | 1 + .../redux/OnboardingWalletMiddleware.kt | 33 +++++++++++++------ .../wallet/redux/OnboardingWalletReducer.kt | 1 + .../wallet/redux/OnboardingWalletState.kt | 1 + .../api/express/TangemExpressApi.kt | 6 ++-- .../local/preferences/PreferencesKeys.kt | 9 ++--- .../data/wallets/DefaultWalletsRepository.kt | 4 +++ .../wallets/repository/WalletsRepository.kt | 2 ++ .../feature/swap/DefaultSwapRepository.kt | 7 ++++ .../tangem/feature/swap/di/SwapDataModule.kt | 2 ++ 10 files changed, 45 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt index 9ec732f54d..33244fc56c 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt @@ -60,6 +60,7 @@ sealed class BackupAction : Action { data object ErrorInBackupCard : BackupAction() data object StartAddingPrimaryCard : BackupAction() data object ScanPrimaryCard : BackupAction() + data class SetHasRing(val hasRing: Boolean) : BackupAction() /** * Check for unfinished backup of standard Wallets diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt index 045c4a5887..9c9dd4acb7 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt @@ -16,6 +16,8 @@ import com.tangem.domain.common.extensions.withIOContext import com.tangem.domain.common.extensions.withMainContext import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_IDS +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_PREFIX import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.wallets.builder.UserWalletBuilder import com.tangem.domain.wallets.models.Artwork @@ -200,6 +202,13 @@ private fun handleWalletAction(action: Action) { private fun handleFinishOnboardind(scanResponse: ScanResponse) { val backupState = store.state.onboardingWalletState.backupState val updatedScanResponse = updateScanResponseAfterBackup(scanResponse, backupState) + + if (backupState.hasRing) { + scope.launch { + store.inject(DaggerGraphState::walletsRepository).setHasWalletsWithRing() + } + } + OnboardingHelper.trySaveWalletAndNavigateToWalletScreen( scanResponse = updatedScanResponse, accessCode = backupState.accessCode, @@ -496,11 +505,11 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) } } is BackupAction.WritePrimaryCard -> { - val iconScanRes = if (scanResponse?.cardTypesResolver?.isRing() == true) { - R.drawable.img_hand_scan_ring - } else { - null - } + val isRing = scanResponse?.cardTypesResolver?.isRing() == true + val iconScanRes = if (isRing) R.drawable.img_hand_scan_ring else null + + store.dispatchOnMain(BackupAction.SetHasRing(hasRing = isRing)) + backupService.proceedBackup(iconScanRes = iconScanRes) { result -> when (result) { is CompletionResult.Success -> { @@ -513,11 +522,11 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) is BackupAction.WriteBackupCard -> { val cardIndex = if (action.cardNumber > 0) action.cardNumber - 1 else action.cardNumber val backupCard = backupState.backupCards.getOrNull(cardIndex) - val iconScanRes = if (backupCard?.batchId?.startsWith(CardDTO.RING_BATCH_PREFIX) == true) { - R.drawable.img_hand_scan_ring - } else { - null - } + val isRing = backupCard.isRing() + val iconScanRes = if (isRing) R.drawable.img_hand_scan_ring else null + + store.dispatchOnMain(BackupAction.SetHasRing(hasRing = isRing)) + backupService.proceedBackup(iconScanRes = iconScanRes) { result -> when (result) { is CompletionResult.Success -> { @@ -636,6 +645,10 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) } } +private fun Card?.isRing(): Boolean { + return this?.let { RING_BATCH_IDS.contains(batchId) || batchId.startsWith(RING_BATCH_PREFIX) } ?: false +} + fun updateArtworks(addedBackupCardsCount: Int, card: Card) { mainScope.launch { withIOContext { diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index 76a963d1b9..0efb4d4115 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -132,6 +132,7 @@ private object BackupReducer { is BackupAction.FinishBackup -> state.copy(backupStep = BackupStep.Finished) BackupAction.OnAccessCodeDialogClosed -> state.copy(backupStep = BackupStep.AddBackupCards) BackupAction.DiscardBackup -> BackupState() + is BackupAction.SetHasRing -> state.copy(hasRing = action.hasRing) else -> state } } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt index 1e3fbf3a67..57d5a5c46c 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt @@ -78,6 +78,7 @@ data class BackupState( val isInterruptedBackup: Boolean = false, val showBtnLoading: Boolean = false, val hasBackupError: Boolean = false, + val hasRing: Boolean = false, ) enum class AccessCodeError { diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt index 54a7935d66..dc1c0b6418 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt @@ -5,10 +5,7 @@ import com.tangem.datasource.api.express.models.request.AssetsRequestBody import com.tangem.datasource.api.express.models.request.ExchangeSentRequestBody import com.tangem.datasource.api.express.models.request.PairsRequestBody import com.tangem.datasource.api.express.models.response.* -import retrofit2.http.Body -import retrofit2.http.GET -import retrofit2.http.POST -import retrofit2.http.Query +import retrofit2.http.* /** * Interface of Tangem Express API (new swap mechanism) @@ -36,6 +33,7 @@ interface TangemExpressApi { @Query("toDecimals") toDecimals: Int, @Query("providerId") providerId: String, @Query("rateType") rateType: String, + @Header("refcode") refCode: String? = null, ): ApiResponse @GET("exchange-data") diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt index d2c600c572..96bd9ca635 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt @@ -99,18 +99,13 @@ object PreferencesKeys { val apiConfigsEnvironmentKey by lazy { stringPreferencesKey(name = "apiConfigsEnvironment") } + val IS_RING_ADDED_KEY by lazy { booleanPreferencesKey(name = "isRingAdded") } + // region Permission fun getShouldShowPermission(permission: String) = booleanPreferencesKey("shouldShowPushPermission_$permission") fun getShouldShowInitialPermissionScreen(permission: String) = booleanPreferencesKey("shouldShowInitialPushPermissionScreen_$permission") - - fun getIsFirstTimeAskingPermission(permission: String) = - booleanPreferencesKey("shouldAskInitialPushPermission_$permission") - - fun getPermissionLaunchCount(permission: String) = intPreferencesKey("pushPermissionLaunchCount_$permission") - - fun getPermissionDaysCount(permission: String) = longPreferencesKey("pushPermissionDaysCount_$permission") // endregion fun getUserTokensKey(userWalletId: String) = stringPreferencesKey(name = "user_tokens_$userWalletId") diff --git a/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt b/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt index 2cc72cd098..f565d3c428 100644 --- a/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt +++ b/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt @@ -23,4 +23,8 @@ internal class DefaultWalletsRepository( override suspend fun saveShouldSaveUserWallets(item: Boolean) { appPreferencesStore.store(key = PreferencesKeys.SAVE_USER_WALLETS_KEY, value = item) } + + override suspend fun setHasWalletsWithRing() { + appPreferencesStore.store(key = PreferencesKeys.IS_RING_ADDED_KEY, value = true) + } } \ No newline at end of file diff --git a/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt b/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt index 003f9b9ff2..868fe85a98 100644 --- a/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt +++ b/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt @@ -9,4 +9,6 @@ interface WalletsRepository { fun shouldSaveUserWallets(): Flow suspend fun saveShouldSaveUserWallets(item: Boolean) + + suspend fun setHasWalletsWithRing() } \ No newline at end of file diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt index f3a0d6cbe4..979ea6b5ed 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt @@ -20,6 +20,9 @@ import com.tangem.datasource.api.express.models.response.SwapPair import com.tangem.datasource.api.express.models.response.SwapPairsWithProviders import com.tangem.datasource.api.express.models.response.TxDetails import com.tangem.datasource.crypto.DataSignatureVerifier +import com.tangem.datasource.local.preferences.AppPreferencesStore +import com.tangem.datasource.local.preferences.PreferencesKeys +import com.tangem.datasource.local.preferences.utils.getSyncOrNull import com.tangem.domain.common.util.derivationStyleProvider import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.walletmanager.WalletManagersFacade @@ -49,6 +52,7 @@ internal class DefaultSwapRepository @Inject constructor( private val userWalletsListManager: UserWalletsListManager, private val errorsDataConverter: ErrorsDataConverter, private val dataSignatureVerifier: DataSignatureVerifier, + private val appPreferencesStore: AppPreferencesStore, moshi: Moshi, ) : SwapRepository { @@ -199,6 +203,8 @@ internal class DefaultSwapRepository @Inject constructor( ): Either { return withContext(coroutineDispatcher.io) { try { + val isRingAdded = appPreferencesStore.getSyncOrNull(PreferencesKeys.IS_RING_ADDED_KEY) + val response = tangemExpressApi.getExchangeQuote( fromContractAddress = fromContractAddress, fromNetwork = fromNetwork, @@ -209,6 +215,7 @@ internal class DefaultSwapRepository @Inject constructor( toDecimals = toDecimals, providerId = providerId, rateType = rateType.name.lowercase(), + refCode = if (isRingAdded == true) "ring" else null, ).getOrThrow() QuoteModel( toTokenAmount = createFromAmountWithOffset(response.toAmount, response.toDecimals), diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt index fde540c8ab..4a3706c560 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt @@ -33,6 +33,7 @@ internal class SwapDataModule { walletManagerFacade: WalletManagersFacade, userWalletsListManager: UserWalletsListManager, errorsDataConverter: ErrorsDataConverter, + appPreferencesStore: AppPreferencesStore, @NetworkMoshi moshi: Moshi, ): SwapRepository { return DefaultSwapRepository( @@ -42,6 +43,7 @@ internal class SwapDataModule { userWalletsListManager = userWalletsListManager, errorsDataConverter = errorsDataConverter, dataSignatureVerifier = dataSignature, + appPreferencesStore = appPreferencesStore, moshi = moshi, ) } From 73aaae287d879138e58026d1cdc14177b836ff29 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 7 Oct 2024 14:13:53 +0400 Subject: [PATCH 04/12] Updated on 2026-08-14 --- .../redux/OnboardingWalletMiddleware.kt | 6 +- .../wallet/redux/OnboardingWalletReducer.kt | 9 +- .../local/preferences/PreferencesKeys.kt | 2 +- core/res/src/main/res/values-de/strings.xml | 25 ++- core/res/src/main/res/values-es/strings.xml | 8 +- core/res/src/main/res/values-fr/strings.xml | 6 +- core/res/src/main/res/values-ja/strings.xml | 12 +- core/res/src/main/res/values-ru/strings.xml | 139 ++++++++--------- .../src/main/res/values-uk-rUA/strings.xml | 37 ++++- core/res/src/main/res/values/strings.xml | 144 +++++++++--------- .../data/wallets/DefaultWalletsRepository.kt | 9 +- .../wallets/repository/WalletsRepository.kt | 3 +- .../feature/swap/DefaultSwapRepository.kt | 10 +- .../feature/swap/domain/api/SwapRepository.kt | 1 + .../feature/swap/domain/SwapInteractorImpl.kt | 4 +- 15 files changed, 252 insertions(+), 163 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt index 9c9dd4acb7..6f46d4f764 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt @@ -20,6 +20,7 @@ import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_IDS import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_PREFIX import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.wallets.builder.UserWalletBuilder +import com.tangem.domain.wallets.builder.UserWalletIdBuilder import com.tangem.domain.wallets.models.Artwork import com.tangem.feature.onboarding.data.model.CreateWalletResponse import com.tangem.feature.onboarding.presentation.wallet2.analytics.SeedPhraseSource @@ -203,9 +204,10 @@ private fun handleFinishOnboardind(scanResponse: ScanResponse) { val backupState = store.state.onboardingWalletState.backupState val updatedScanResponse = updateScanResponseAfterBackup(scanResponse, backupState) - if (backupState.hasRing) { + val userWalletId = UserWalletIdBuilder.scanResponse(scanResponse).build() + if (backupState.hasRing && userWalletId != null) { scope.launch { - store.inject(DaggerGraphState::walletsRepository).setHasWalletsWithRing() + store.inject(DaggerGraphState::walletsRepository).setHasWalletsWithRing(userWalletId = userWalletId) } } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index 0efb4d4115..8d95bd3b47 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -132,7 +132,14 @@ private object BackupReducer { is BackupAction.FinishBackup -> state.copy(backupStep = BackupStep.Finished) BackupAction.OnAccessCodeDialogClosed -> state.copy(backupStep = BackupStep.AddBackupCards) BackupAction.DiscardBackup -> BackupState() - is BackupAction.SetHasRing -> state.copy(hasRing = action.hasRing) + is BackupAction.SetHasRing -> { + // Don't update if state.has ring is already true + if (state.hasRing) { + state + } else { + state.copy(hasRing = action.hasRing) + } + } else -> state } } diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt index 96bd9ca635..d5da6e80f7 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt @@ -99,7 +99,7 @@ object PreferencesKeys { val apiConfigsEnvironmentKey by lazy { stringPreferencesKey(name = "apiConfigsEnvironment") } - val IS_RING_ADDED_KEY by lazy { booleanPreferencesKey(name = "isRingAdded") } + val ADDED_WALLETS_WITH_RING_KEY by lazy { stringSetPreferencesKey(name = "addedWalletsWithRing") } // region Permission fun getShouldShowPermission(permission: String) = booleanPreferencesKey("shouldShowPushPermission_$permission") diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index 516445f46f..fa3319cfaa 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -97,6 +97,10 @@ %d tag %d tage + + Tag + Tage + Entfernen Deaktiviert Erledigt @@ -143,6 +147,7 @@ Änderungen speichern Suchen Token suchen + sek. Seed phrase Aktion auswählen Verkaufen @@ -343,7 +348,7 @@ Hochstimmen Wallet auswählen Das Wallet unterstützt nicht mehr als ein Netzwerk - Um mit dem Kauf, Tausch oder Erhalt dieses Vermögenswerts zu beginnen, füge diesen Token zu mindestens 1 Netzwerk hinzu + Um dieses Asset zu kaufen, zu tauschen oder zu erhalten, füge diesen Deinem Portfolio hinzu Dieses Asset ist nicht verfügbar Dieses Asset ist für dieses Wallet nicht verfügbar Zum Portfolio hinzufügen @@ -378,6 +383,10 @@ Top-Verlierer Beliebt Über %s + + %d Börse + %d Börsen + Bewertung, basierend auf %d Bewertungen, basierend auf %d @@ -389,6 +398,12 @@ Umlaufmenge Die Gesamtzahl der Coins, die für den Handel verfügbar sind und auf dem Markt zirkulieren Umlaufmenge + Keine Börsen gefunden + Umtausch + Vorsicht + Riskant + Vertrauenswürdig + Börsen Erfahrene Käufer Nettokäufer mit der zusätzlichen Anforderung, mindestens 100 ausgehende Transaktionen zu haben Erfahrene Käufer @@ -407,6 +422,7 @@ Liquidität Liquiditätsindex Leer + Gelistet auf Niedrig MarketCap Der Gesamtmarktwert einer Kryptowährung, berechnet sich durch Multiplikation des aktuellen Preises des Coins mit der Gesamtzahl der im Umlauf befindlichen Coins @@ -429,6 +445,7 @@ Handelsvolumen (24h) Der Gesamtbetrag einer Kryptowährung, der innerhalb der letzten 24 Stunden gehandelt wurde, wobei das Aktivitäts- und Liquiditätsniveau auf dem Markt angegeben wird Handelsvolumen (24h) + Volumen Rufe dies auf oder tippe auf die Suchleiste, um Token direkt vom Markt hinzuzufügen Token hinzufügen NFC ist auf deinem Gerät nicht verfügbar @@ -691,6 +708,7 @@ Gesperrt Migrieren Natives Staking + Derzeit sind keine aktiven Validatoren für das Staking verfügbar. Bitte versuchen Sie es später erneut. Verdiente Belohnungen werden an Deine Wallet gesendet und stehen Dir sofort zur Verfügung Stake sicher und verdienen Belohnungen Sicher staken und tägliche Belohnungen verdienen. @@ -721,8 +739,8 @@ Händisch Pro Block Täglich + Alle %s Täglich - Alle %1$s Sek. Pro Epoche Pro Ära Stündlich @@ -733,6 +751,7 @@ Mehr staken Du setzt %1$s ein und erhältst jährlich %2$s Zum Entsperren antippen + Tippe zum Entsperren oder Abstimmen Zum abheben antippen Stake %s Staking beenden%s @@ -747,7 +766,7 @@ Validatoren Strategischer Partner Abstimmung - Abstimmung gesperrt + Abstimmung Zurückziehen Deine Einsätze Bewahre deine Krypto-Assets sicher auf, während die privaten Schlüssel auf deiner Karte bleiben diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml index ba3e1b02eb..406280f934 100644 --- a/core/res/src/main/res/values-es/strings.xml +++ b/core/res/src/main/res/values-es/strings.xml @@ -343,7 +343,7 @@ Votar a favor Elegir wallet La billetera no admite más de una red - Para comprar, intercambiar o recibir este activo, agréguelo a su cartera + Para comprar, intercambiar o recibir este activo, agréguelo a su portafolio Este activo no está disponible Añadir al portafolio Agregue un token @@ -565,6 +565,8 @@ Entiendo que no puedo usar esta tarjeta para recuperar mi código de acceso en las otras tarjetas de la wallet actual El restablecimiento de fábrica eliminará completamente la billetera de la tarjeta seleccionada. No podrá restaurar la billetera actual ni usar la tarjeta para recuperar el código de acceso. El restablecimiento de fábrica eliminará completamente la billetera de la tarjeta seleccionada y lo eliminará de la app. No podrá restaurar la billetera actual. + Si tienes un Anillo Tangem, ¡3 swaps sin comisión en Changelly hasta el 15/11! + ¡Intercambia con 0%% de comisión! ¿Tiene una tarjeta bancaria de otro país y un permiso de residencia o registro fuera de la Federación Rusa? Las tarjetas bancarias rusas no se aceptan actualmente Inicie sesión en la app y comprueba su saldo sin escanear la tarjeta @@ -689,6 +691,7 @@ Bloqueado Migrar Native staking + No hay validadores activos disponibles para hacer staking en este momento. Por favor, inténtalo de nuevo más tarde. Recomp. won se le enviará y estará disponible para su uso inmediato Haga staking de forma segura y comience a ganar recompensas Haga de forma segura y comience a ganar recompensas diarias @@ -720,7 +723,6 @@ Bloquear Día Cada día - Cada %1$s segundo(s) Época Era Hora @@ -771,7 +773,7 @@ Hacer swap de esta cantidad de tokens seleccionados causará un impacto significativo en el precio y reducirá su resultado. Fondos insuficientes Dar autorización - Intercambie + Intercambiar Usted recibe Elige token no disponible diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index e310d6723c..d7c361e8d0 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -343,7 +343,7 @@ Vote positif Choisissez un portefeuille Le portefeuille ne prend pas en charge plus d\'un réseau - Pour commencer à acheter, échanger ou recevoir cet actif, ajoutez ce jeton à au moins 1 réseau + Pour acheter, échanger ou recevoir cet actif, ajoutez-le à votre portefeuille Cet actif n\'est pas disponible Ajouter au portfolio Ajoutez un jeton @@ -565,6 +565,8 @@ Je comprends que je ne peux pas utiliser cette carte pour récupérer mon code d\'accès sur les autres cartes du portefeuille actuel La réinitialisation aux paramètres d\'usine supprimera complètement le portefeuille de la carte sélectionnée. Vous ne pourrez pas restaurer le portefeuille actuel ni utiliser la carte pour récupérer le code d\'accès. La réinitialisation aux paramètres d\'usine supprimera complètement le portefeuille de la carte sélectionnée et le supprimera de l\'application. Vous ne pourrez pas restaurer le portefeuille actuel. + Les propriétaires du Tangem Ring bénéficient de 3 échanges sans commission sur Changelly jusqu\'au 15/11 ! + Échangez avec 0 %% de frais maintenant! Avez-vous une carte bancaire d\'un autre pays et un permis de séjour ou une inscription en dehors de la Fédération de Russie ? Les cartes bancaires russes ne sont actuellement pas acceptées Connectez-vous à l\'application et vérifiez votre solde sans scanner la carte @@ -689,6 +691,7 @@ Bloqué Migrer Native staking + Aucun validateur actif n\'est disponible pour le staking pour le moment. Veuillez réessayer plus tard. Récomp. gagnées vous seront envoyées et dispo pour utilisation immédiate Stakez et commencez à gagner vos récompenses Stakez en toute sécurité et commencez à gagner des récompenses quotidiennes @@ -720,7 +723,6 @@ Bloquer Jour Chaque jour - Toute(s) les %1$s seconde(s) Époque Ère Heure diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index 0d15d6edfc..fc9a95d147 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -116,12 +116,14 @@ アドレスを取得する プロバイダーへ移動 トークンへ移動 + 時間 インポート 進行中 後で 残り%1$s ロックされています メインネットワーク + ネットワーク手数料 送金額は、選択された手数料レベルをカバーするため、%1$s (%2$s) 減額されます。 @@ -144,6 +146,7 @@ 変更内容を保存 検索 トークンを検索 + シードフレーズ アクションを選択 売る @@ -169,6 +172,7 @@ エラーが発生しました。もう一度お試しください。 アクセスできません ステーキング解除 + はい コントラクトアドレスをコピーしました! 利用可能なネットワーク @@ -287,6 +291,7 @@ フィードバック Tangemへのフィードバック 取引を送信できません + コインの説明エラー 取引 ネットワークは、あなたがトークンのスワップを承認していることを確認するために、トークン承認手数料を請求します。 選択したトークンの承認制限を指定します @@ -344,7 +349,7 @@ ウォレットを選択 ウォレットは複数のネットワークをサポートしていません。 このアセットを購入・交換・受け取るには、ポートフォリオに追加してください。 - このアセットは利用できません + このアセットは現在ウォレットで利用できません このアセットはこのウォレットでは使用できません。 ポートフォリオに追加 追加 @@ -572,6 +577,8 @@ このカードを使用して、現在のウォレットの他のカードのアクセスコードを回復させられないことを認識しています。 工場出荷時設定にリセットすると、選択したカードからウォレットが完全に削除されます。現在のウォレットを復元したり、カードを使用してアクセスコードを回復したりすることはできません。 工場出荷時の状態にリセットすると、選択したカードからウォレットが完全に削除され、アプリから削除されます。現在のウォレットを復元することはできません。 + Tangem Ringユーザーは、11/15日までChangelly経由でスワップを3回手数料ゼロで行えます! + 今すぐ手数料0%でスワップしましょう! 他の国の銀行カードと、ロシア連邦外での居住許可証または登録をお持ちですか? ロシアの銀行カードは現在ご利用いただけません アプリにログインして、カードをスキャンせずに残高を確認できます @@ -696,6 +703,7 @@ ロック中 移行 ネイティブステーキング + 現在、ステーキングに使用できるアクティブなバリデータは見つかりません。しばらくしてからもう一度お試しください。 獲得した報酬はあなたのアドレスに直接送られ、すぐ使用可能です。 安全にステーキングして報酬を獲得しましょう 安全にステーキングして、報酬を毎日獲得しましょう @@ -728,8 +736,6 @@ 毎日 %sごと 毎日 - %1$s日ごとに - %1$s秒毎 エポック毎 時代毎 毎時間 diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index 57db1a7c37..e9dc92acd8 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -12,8 +12,8 @@ Не могу отправить транзакцию Выбранный кошелёк не поддерживает сеть %1$s Для активации криптографии сети %1$s необходимо сбросить кошелек до заводских настроек. Пожалуйста, выведите свои средства, чтобы не потерять их, после сброса доступ к текущему кошельку будет невозможен. - Токены в сети %1$s не поддерживаются этой картой из-за ограничений прошивки. - У вас возникли трудности со сканированием карты? + Токены в сети %1$s не поддерживаются этой картой или кольцом из-за ограничений прошивки. + У вас возникли трудности со сканированием карты или кольца? Эта карта не предназначена для работы с этим приложением Комиссия по-умолчанию Подключите функцию комиссии по умолчанию и при формировании транзакции на отправку средств комиссия будет выставлена автоматически, а экран комиссии пропущен. Вы всегда сможете на него вернуться. @@ -22,9 +22,9 @@ Все сохраненные коды доступа будут удалены. Вам потребуется вводить код доступа при работе с кошельком. При отключении функции сохранения кошелька все ранее сохраненные кошельки будут удалены из приложения. Сохранение кода доступа - Подключите функцию хранения кодов доступа от карт на телефоне в зашифрованном виде, и при работе с картой вместо кода доступа будет запрашиваться биометрическая аутентификация. + Подключите функцию хранения кодов доступа от карт на телефоне в зашифрованном виде, и при работе с картой или кольцом вместо кода доступа будет запрашиваться биометрическая аутентификация. Cохранение кошелька - Подключите функцию привязки карты в приложении, а также возможность биометрической аутентификации. Подпись транзакции все так же потребует карту. + Подключите функцию привязки карты в приложении, а также возможность биометрической аутентификации. Подпись транзакции все так же потребует карту или кольцо. Тёмная Светлая Как в системе @@ -34,17 +34,17 @@ Больше не показывать Понятно Балансы скрыты - Пожалуйста, отсканируйте карту - Пожалуйста, попробуйте снова через 30 секунд или отсканируйте карту + Пожалуйста, отсканируйте карту или кольцо + Пожалуйста, попробуйте снова через 30 секунд или отсканируйте карту или кольцо Слишком много попыток Вы отключили биометрическую аутентификацию на вашем телефоне и не сможете сохранять кошельки в приложении. Для сохранения кошельков, пожалуйста, включите функцию биометрической аутентификации в настройках телефона. Начать резервное копирование Используйте банковскую карту или другие методы оплаты - %d карта - %d карты - %d карт - %d карт + %d устройство + %d устройства + %d устройств + %d устройств Отключите эту опцию, если не хотите, чтобы эта карта использовалась для сброса кодов доступа на другие карты этого кошелька. Обратите внимание, сброс кода также не будет доступен на этой карте. Использовать эту карту для сброса кода доступа на других картах в этом кошельке @@ -53,12 +53,12 @@ Вы уверены, что хотите это сделать? Смена кода доступа Код доступа будет изменен только на данной карте - Все карты выбранного кошелька сброшены до заводских настроек, вы можете создать новый кошелек + Все устройства Tangem выбранного кошелька сброшены до заводских настроек, вы можете создать новый кошелек Сброс завершён - Хотите сбросить следующую карту от этого кошелька? - Сброс карты - Рекомендуем завершить процесс сброса всех карт кошелька - Вы сбросили не все карты + Хотите сбросить следующее устройство от этого кошелька? + Сброс кошелька + Рекомендуем завершить процесс сброса всех устройств Tangem кошелька + Вы сбросили не все Tangem устройства Заводские настройки Тип безопасности Настройки карты @@ -153,6 +153,7 @@ Сохранить изменения Поиск Поиск токенов + сек Seed-фраза Выберите действие Продать @@ -214,7 +215,7 @@ Код доступа Перед сканированием карты вам нужно будет ввести правильный код доступа. Задержка сканирования - Этот механизм защищает карту от бесконтактных атак. Между сканированием карты и выполнением команды будет добавлена задержка. + Этот механизм защищает карту или кольцо от бесконтактных атак. Между сканированием и выполнением команды будет добавлена задержка. Пароль Перед выполнением любой команды, влекущей за собой изменение состояния карты, вам необходимо будет ввести пароль. Реферальная программа @@ -231,7 +232,7 @@ Подробности Проверьте подключение с интернетом или переключитесь на другую сеть Условия использования - Вы использовали карту от другого кошелька. Приложите карту, связанную с этим кошельком. + Вы использовали карту или кольцо от другого кошелька. Приложите карту или кольцо, связанную с этим кошельком. Мои токены У вас нет добавленных токенов. Добавьте токены для обмена Недоступен для обмена с %s @@ -288,14 +289,15 @@ Обменяйте любой актив в вашем портфеле на этот токен Информация ниже не является обязательной. Вы можете стереть её, если хотите. Расскажите, каких функций вам не хватает, и мы постараемся вам помочь. - Скажите, пожалуйста, какая у вас карта? + Скажите, пожалуйста, какая у вас карта или кольцо? Привет, команда поддержки, Пожалуйста, расскажите нам больше о вашей проблеме. Каждая маленькая деталь может помочь. Мои предложения - Не могу отсканировать карту + Не могу отсканировать карту/кольцо Обращение в поддержку Обращение в поддержку Tangem Не могу отправить транзакцию + Ошибка в описании монеты Транзакция Комиссия сети за одобрение токена будет взиматься за подтверждение того, что именно вы разрешаете использовать ваш токен для обмена. Укажите лимит доступа к выбранному токену @@ -308,14 +310,14 @@ Купить Сканировать Информация сгенерирована ИИ - Чтобы изменить код доступа, приложите карту как показано выше и не убирайте до окончания операции + Чтобы изменить код доступа, приложите карту или кольцо как показано выше и не убирайте до окончания операции Чтобы изменить пароль, приложите карту как показано выше и не убирайте до окончания операции - Чтобы создать кошелек, приложите карту как показано выше и не убирайте до окончания операции + Чтобы создать кошелек, приложите карту или кольцо как показано выше и не убирайте до окончания операции Приложите карту #%s для сброса Приложите, чтобы отсканировать Приложите, чтобы подписать - Приложите карту - Вы обновили данные биометрии, отсканируйте свою карту для входа + Приложите карту или кольцо + Вы обновили данные биометрии, отсканируйте свою карту или кольцо для входа Ваш баланс должен быть выше суммы комиссии для осуществления перевода Недостаточно средств У вас недостаточно Маны для этой транзакции. Пожалуйста, подождите, пока Мана восполнится. Ваш баланс маны равен %1$s/%2$s @@ -327,7 +329,7 @@ Чтобы начать отслеживать свои криптоактивы и транзакции, добавьте токены Управление токенами Чтобы получить доступ ко всем сетям, вам необходимо отсканировать карту - Отсканируйте карту + Отсканируйте карту или кольцо Обменивайте свои токены с %1$s комиссии провайдера через Changelly с %2$s по %3$s февраля. Обмен с Changelly, %s комиссии Токены @@ -354,14 +356,14 @@ Выберите кошелек Кошелёк не поддерживает более одной сети Чтобы купить, обменять или получить данный токен, вам нужно добавить его к себе в портфель - Этот актив недоступен + Этот актив в настоящее время не поддерживается в кошельке Этот токен не доступен для данного кошелька Добавить в портфель Добавить Доступные сети Мой портфель Рынок - Чтобы создать адреса для выбранных сетей, отсканируйте вашу карту Tangem кошелька + Чтобы создать адреса для выбранных сетей, отсканируйте вашу карту или кольцо Tangem кошелька Потяните вверх или коснитесь поисковой строки, чтобы добавить токен Данные раздела получены из следующих сетей: %s Невозможно загрузить данные @@ -457,11 +459,11 @@ Потяните вверх или коснитесь поисковой строки, чтобы добавить токены напрямую из рынка Добавить токены Функция NFC недоступна на вашем устройстве - Вам необходимо установить единый код доступа для защиты всех ваших карт + Вам необходимо установить единый код доступа для защиты всех ваших карт или колец Защита - Позже вы сможете установить индивидуальный код доступа для каждой карты + Позже вы сможете установить индивидуальный код доступа для каждой карты или кольца Персонализация - Код доступа можно восстановить с помощью привязанной карты. Не храните все карты в одном месте. + Код доступа можно восстановить с помощью привязанной карты или кольца. Не храните все в одном месте. Восстановление Выберите любое слово, фразу или число в качестве кода доступа Создайте код доступа @@ -472,10 +474,10 @@ Необходимо повторить операцию, при этом карта будет сброшена к заводским настройкам Ошибка активации Добавление токенов - Вы добавили одну резервную карту. После того, как процесс будет завершен, Вы больше не сможете добавить карт. Если у Вас есть еще одна карта, добавьте ее в резервную копию. Хотите продолжить? + Вы добавили одну резервную карту или кольцо. После того, как процесс будет завершен, Вы больше не сможете добавить еще. Если у Вас есть еще одна карта или кольцо, добавьте ее в резервную копию. Хотите продолжить? Процесс резервного копирования почти завершен. Вы не можете выйти из него сейчас. Парольная фраза — это расширенная функция безопасности, которую используют криптокошельки. Она добавляет дополнительное слово или фразу по вашему выбору к уже существующей seed - фразе, чтобы разблокировать совершенно новый набор адресов. - Добавить резервную карту + Добавить резервную карту или кольцо Сканировать карту #%d Создать резервную копию Сканировать основную карту @@ -485,11 +487,11 @@ Сканировать основную карту Пропустить Как это работает? - Давайте сгенерируем все ключи на вашей карте и создадим безопасный кошелек + Давайте сгенерируем все ключи на вашей карте или кольце и создадим безопасный кошелек Создать кошелек Создать кошелек Другие опции - Ваши ключи будут надежно сгенерированы внутри карты. Никакой seed-фразы, а это значит, что никто не может экспортировать или украсть ее. + Ваши ключи будут надежно сгенерированы внутри карты или кольца. Никакой seed-фразы, а это значит, что никто не может экспортировать или украсть ее. Cоздавайте ключи приватно Ваша карта активирована и готова к использованию Успешно! @@ -522,20 +524,20 @@ Устаревший Чтобы проверить, правильно ли вы записали seed-фразу, введите 2-е, 7-е и 11-е слова Итак, проверим - Чтобы начать процесс резервного копирования, добавьте одну или две резервные карты. - Вы можете добавить еще одну карту или завершить процесс резервного копирования + Чтобы начать процесс резервного копирования, добавьте одну или две резервные карты или кольца. + Вы можете добавить еще одну карту или кольцо или завершить процесс резервного копирования Подготовьте резервную карту с номером %s - Отсканируйте основную карту, чтобы начать процесс резервного копирования. + Отсканируйте основную карту или кольцо, чтобы начать процесс резервного копирования. Подготовьте основную карту с номером %s - Ваша карта настроена и готова к использованию. - Добавлено максимальное количество карт. Завершите процесс резервного копирования. + Ваш кошелек настроен и готова к использованию. + Добавлено максимальное количество устройств. Завершите процесс резервного копирования. Активация кошелька Резервная карта #%d - Нет резервных карт + Нет резервных карт или колец Уведомления - Добавлена ​​одна резервная карта + Добавлено одно резервное устройство Подготовьте свою карту - Добавлены две резервные карты + Добавлены два резервных девайса Пополните кошелек на любую сумму, чтобы начать пользоваться картой Пополните кошелек более чем на %1$s %2$s, чтобы начать пользоваться картой Купить криптовалюту @@ -543,7 +545,7 @@ Активация кошелька Процесс связывания карт частично завершен. Вы не можете выйти из него сейчас. Если процесc создания кошелька каким-либо образом прервется, вам придется начинать сначала - Вы можете сделать резервную копию своих ключей на одной или двух других пустых картах Wallet. + Вы можете сделать резервную копию своих ключей на одной или двух других пустых картах или кольцах Tangem Wallet. Код доступа можно восстановить с помощью одной из резервных карт. Все резервные карты являются полнофункциональными и содержат одинаковые ключи. Вы сможете установить код доступа для защиты своих кошельков. @@ -599,10 +601,12 @@ Я понимаю, что после выполнения этого действия у меня больше не будет доступа к текущему кошельку Я понимаю, что не смогу этой картой восстановить пароль на остальных картах этого кошелька, если я его забуду Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты. Вы не сможете восстановить текущий кошелек или использовать данную карту для восстановления кода доступа. - Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты. Вы не сможете восстановить текущий кошелек. + Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты или кольца. Вы не сможете восстановить текущий кошелек. + Владельцам колец — 3 обмена без комиссии на Changelly до 15.11! + Обмен с 0%% комиссией! У вас есть карта банка другой страны, а также вид на жительство или регистрация вне РФ? Карты банков РФ в данный момент не принимаются - Войдите в приложение и следите за своим балансом без сканирования карты + Войдите в приложение и следите за своим балансом без сканирования карты или кольца Доступ в приложение Использовать биометрию Для операций с вашим кошельком будет запрашиваться биометрия вместо кода доступа карты @@ -610,10 +614,10 @@ Похоже, что у вас отключена биометрическая аутентификация, она необходима для сохранения кошельков Включите биометрическую аутентификацию Вы хотите использовать биометрию? - Обратите внимание, что для совершения транзакции с вашими средствами по-прежнему потребуется ваша карта + Обратите внимание, что для совершения транзакции с вашими средствами по-прежнему потребуется ваша карта или кольцо Сканировать - Отсканируйте карту, чтобы изменить ее настройки. Изменения затронут только ту карту, которую вы отсканировали, и не повлияют на другие карты, привязанные к вашему кошельку. - Приготовьте свою карту + Отсканируйте карту или кольцо, чтобы изменить ее настройки. Изменения затронут только ту карту или кольцо, которые вы отсканировали, и не повлияют на другие устройства, привязанные к вашему кошельку. + Приготовьте свой Tangem Уже содержится во введенном адресе Сумма комиссии в %s раз превышает рекомендованную. Убедитесь, что указанная комиссия верна. Вы указали комиссию ниже рекомендуемой, это может привести к задержке исполнения вашей транзакции. Продолжить? @@ -689,7 +693,7 @@ Транзакция успешно подписана и отправлена в блокчейн. Баланс будет обновлен через некоторое время %1$s — это монета в сети Tron. Чтобы рассчитать комиссию и совершить транзакцию, вам необходимо внести немного Tron (TRX) на свой адрес. Транзакция отправлена - Подготовьтесь к сканированию карты, которую вы хотите настроить. + Подготовьтесь к сканированию кольцо или карту, которую вы хотите настроить. Забыть кошелек Это приведет к удалению кошелька из приложения. Сам кошелек можно добавить снова. Имя @@ -724,6 +728,7 @@ Заблокировано Переместить Нативный стейкинг + В данный момент нет доступных активных валидаторов для стейкинга. Пожалуйста, попробуйте позже. Полученная награда отправится на ваш кошелек и сразу станет доступна для использования Стейкайте безопасно и начинайте получать ваши награды. Стейкайте безопасно и начинайте получать ежедневные награды. @@ -754,8 +759,6 @@ За блок Ежедневно Каждый день - Каждые %1$s дня - Каждые %1$s сек За эпоху За эру Ежечасно @@ -784,20 +787,20 @@ Проголосовать Вывод Застейканные средства - Держите свои криптосбережения в безопасности. Приватные ключи надежно хранятся на карте. + Держите свои криптосбережения в безопасности. Приватные ключи надежно хранятся на карте или кольце. Революционный аппаратный кошелек - До трех карт с одним кошельком + До трех карт или колец с одним кошельком Все ключи в безопасности - Аппаратный кошелек для ваших биткоинов, эфира и многих других валют одновременно — все в одной карте + Аппаратный кошелек для ваших биткоинов, эфира и многих других валют одновременно — все в одной карте или кольце Тысячи криптовалют - Используйте его на ходу, в любом месте, в любое время. Без проводов и батареек. Как только понадобится крипта, просто приложите карту к телефону. + Используйте его на ходу, в любом месте, в любое время. Без проводов и батареек. Как только понадобится крипта, просто приложите карту или кольцо к телефону. Кошелек для каждого Встречайте Tangem Обменивайте, покупайте NFT, получайте займы и делайте вклады в более чем 100 различных децентрализованных сервисах Поддержка Web 3.0 Обменивайте больше токенов по лучшим курсам прямо в вашем кошельке. Новый провайдер обмена! - В сумму включено: \n• комиссия провайдера сервиса\n• комиссия сети за отправку %s от биржи обратно на адрес пользователя + В сумму включено: \n• комиссия провайдера сервиса\n• комиссия сети за отправку %s от биржи обратно на адрес пользователя. В сумму включена комиссия провайдера сервиса. Комиссии Подтверждения считаются отраслевым стандартом для всех децентрализованных бирж и защищают ваш кошелек от доступа со стороны смарт-контракта без вашего разрешения. По замыслу смарт-контракты не могут получить доступ к вашим токенам, если вы не одобрите доступ со своей стороны. «Разблокируя» свои токены, вы даете смарт-контракту 1inch разрешение тратить ваши активы. Майнеры сети получают компенсацию за газ (оплачиваемый вами) за запись этого действия в блокчейне. Как только разрешение будет предоставлено, вы сможете обменять свой токен. @@ -858,13 +861,13 @@ Tangem Twin Это действие необратимо. У вас не будет доступа к старому кошельку. Приложите twin-карту с номером %s и не убирайте до окончания операции - Используйте %s или отсканируйте карту, чтобы получить доступ к своему кошельку + Используйте %s или отсканируйте карту/кольцо, чтобы получить доступ к своему кошельку Будьте в курсе новых функций и новостей Узнавайте первым о новых акциях Хотите использовать Push-уведомления? Добавить новый кошелек Вы уверены, что хотите удалить этот кошелек? - Произошла ошибка, пожалуйста, отсканируйте свою карту для входа + Произошла ошибка, пожалуйста, отсканируйте свою карту или кольцо для входа Этот кошелек уже был сохранен, вы можете добавить другой Кошелек с именем %s уже существует Имя кошелька @@ -872,7 +875,7 @@ Разблокировать все Разблокировать все с %s Блокчейн недоступен. Попробуйте позже. - Отсканируйте карту + Отсканируйте карту или кольцо Запрос на подпись сообщения.\n\n%s Dapp %1$s, запрос на\nподпись транзакции с BNB.\n\n%2$s Торговый ордер на %1$s\nЦена: %2$s\nСумма к получению: %3$s\nСумма к оплате: %4$s @@ -887,7 +890,7 @@ Запрос на подключение через WalletConnect содержит неподдерживаемые блокчеины. Неподдерживаемые блокчеины:\n Cоединение с этим Dapp сервисом не может быть установлено из-за его технической реализации. Произошла непредвиденная ошибка. Сообщение ошибки: %s Попробуйте, пожалуйста, позже. Если проблема будет продолжать возникать - обратитесь в службу поддержки. - Неверная карта выбрана в приложении Tangem + Неверная карта или кольцо выбрана в приложении Tangem Не удалось создать транзакцию из данных Dapp. Код: %s Произошла непредвиденная ошибка. Код ошибки: %d. Попробуйте, пожалуйста, позже. Если проблема будет продолжать возникать - обратитесь в службу поддержки. Нет открытых сессий WalletConnect @@ -912,10 +915,10 @@ Нет соединения с интернетом Настройки кошелька Tangem - Используйте %s или отсканируйте карту, чтобы разблокировать доступ к вашему кошельку + Используйте %s или отсканируйте карту/кольцо, чтобы разблокировать доступ к вашему кошельку Процесс выдачи разрешения уже в работе и скоро будет завершен Выдача разрешения - Похоже, что процесс активации карт не был завершен корректно. Это могло быть вызвано проблемой взаимодействия с модулем NFC либо некорректным прикладыванием карты к телефону. Пожалуйста, обратитесь в нашу службу поддержки для уточнения деталей. + Похоже, что процесс активации карт или кольца не был завершен корректно. Это могло быть вызвано проблемой взаимодействия с модулем NFC либо некорректным прикладыванием карты или кольца к телефону. Пожалуйста, обратитесь в нашу службу поддержки для уточнения деталей. Ошибка активации По решению разработчиков сети BNB стандарт BEP-2 перестанет поддерживаться в июне 2024 года. Чтобы не потерять активы, их необходимо преобразовать в стандарт BEP-20. Используйте функцию обмена в приложении или сторонние сервисы, чтобы перевести средства в cеть BNB Smart Chain. Отключение сети BNB Beacon Chain @@ -961,10 +964,10 @@ Токен MATIC мигрирует на POL. Однако крайний срок не установлен, и MATIC пока не устарел. Вы можете спокойно продолжать использовать токен MATIC или воспользоваться биржами, чтобы обменять его на POL. Миграция MATIC в POL - Используйте вашу карту, чтобы получить адрес для %d сети - Используйте вашу карту, чтобы получить адреса для %d сетей - Используйте вашу карту, чтобы получить адреса для %d сетей - Используйте вашу карту, чтобы получить адреса для %d сетей + Используйте вашу карту или кольцо, чтобы получить адрес для %d сети + Используйте вашу карту или кольцо, чтобы получить адреса для %d сетей + Используйте вашу карту или кольцо, чтобы получить адреса для %d сетей + Используйте вашу карту или кольцо, чтобы получить адреса для %d сетей Некоторые адреса отсутствуют В данный момент сеть недоступна. Пожалуйста, попробуйте позже. @@ -991,11 +994,11 @@ Вы не закончили резервное копирование. Хотите продолжить? Да, возобновить Отказаться - Если сейчас отказаться, то придётся сбрасывать карты до заводских настроек, чтобы начать заново + Если сейчас отказаться, то придётся сбрасывать устройства до заводских настроек, чтобы начать заново Возобновить резервное копирование Это необратимое действие Войти с %s - Сканировать карту - Используйте %s или отсканируйте карту для входа в приложение + Сканировать карту или кольцо + Используйте %s или отсканируйте карту либо кольцо для входа в приложение C возвращением! diff --git a/core/res/src/main/res/values-uk-rUA/strings.xml b/core/res/src/main/res/values-uk-rUA/strings.xml index 5a9fb13979..c24d3cce76 100644 --- a/core/res/src/main/res/values-uk-rUA/strings.xml +++ b/core/res/src/main/res/values-uk-rUA/strings.xml @@ -101,6 +101,12 @@ %d днів %d днів + + день + дні + днів + днів + Видалити Вимкнуто Готово @@ -119,12 +125,14 @@ Отримати адреси Перейти до провайдера Перейти до токену + година Імпортувати В процесі Пізніше Залишилося %1$s Заблокований Основна мережа + місяць Комісія мережі Сума відправлення буде зменшена на %1$s (%2$s) для покриття обраного рівня комісії Далі @@ -147,6 +155,7 @@ Зберегти зміни Пошук Пошук токенів + сек Seed-фраза Оберіть дію Продати @@ -172,6 +181,7 @@ Виникла помилка. Будь ласка, спробуйте ще раз. Недоступно Скасувати стейкінг + тиждень Так Адреса контракту скопійована! Доступні мережі @@ -290,6 +300,7 @@ Звернення в підтримку Звернення в підтримку Tangem Не вдається відправити транзакцію + Помилка в описі монети Транзакція Мережа стягує комісію за схвалення токену за підтвердження, що саме ви дозволяєте використовувати ваш токен для обміну. Вкажіть ліміт доступу для обраного токена @@ -349,8 +360,8 @@ Проголосувати Оберіть гаманець Гаманець не підтримує більше однієї мережі - Щоб почати купувати, обмінювати або отримувати цей актив, додайте цей токен принаймні в 1 мережу - Цей актив недоступний + Щоб купити, обміняти або отримати цей актив, додайте його до свого портфоліо + Цей актив наразі не підтримується в гаманці Цей токен недоступний для цього гаманця Додати в портфоліо Додати @@ -384,6 +395,12 @@ Лідери падіння В тренді Про %s + + біржа + біржі + бірж + бірж + На основі %d оцінки На основі %d оцінок @@ -397,6 +414,12 @@ Циркуляційний запас Загальна кількість монет, які доступні для торгівлі та перебувають в обігу на ринку Циркуляційний запас + Бірж не знайдено + Біржа + Обережно + Ризиковано + Надійно + Біржі Досвідчені покупці Мережеві покупці з додатковою вимогою мати не менше 100 вихідних транзакцій Досвідчені покупці @@ -414,6 +437,7 @@ Зміна того, скільки ліквідності доступно для токена протягом зазначеного періоду часу Ліквідність Індекс ліквідності + Лістинг на Низький Рин. кап. Загальна ринкова вартість криптовалюти, що розраховується шляхом множення поточної ціни монети на загальну кількість монет в обігу @@ -436,6 +460,7 @@ Обсяг торгів (24г) Загальна сума криптовалюти, якою торгували протягом останніх 24 годин, що вказує на рівень активності та ліквідності на ринку Обсяг торгів (24г) + Обсяг Потягніть вгору або торкніться панелі пошуку, щоб додати токени безпосередньо з маркету Додати токени Функція NFC недоступна на вашому пристрої @@ -582,6 +607,8 @@ Я розумію, що не можу використати цю картку для відновлення свого коду доступу на інших картках поточного гаманця Скидання до заводських налаштувань призведе до повного видалення гаманця з обраної картки. Ви не зможете відновити поточний гаманець або використати картку для відновлення коду доступу. Скидання до заводських налаштувань призведе до повного видалення гаманця з обраної картки. Ви не зможете відновити поточний гаманець. + Власникам кілець - 3 обміни без комісії на Changelly до 15.11! + Обмін з 0%% комісією! У вас є банківська картка іншої країни та посвідка на проживання або реєстрація за межами Російської Федерації? Російські банківські картки наразі не приймаються Увійдіть у додаток та слідкуйте за своїм балансом без сканування картки @@ -706,6 +733,7 @@ Заблоковано Перемістити Нативний стейкінг + На даний момент немає доступних активних валідаторів для стейкінгу. Будь ласка, спробуйте пізніше. Зароблені винагороди будуть надіслані на ваш гаманець і доступні для використання відразу Стейкайте безпечно та почніть отримувати ваші винагороди Стейкайте безпечно та почніть отримувати винагороди щоденно @@ -736,8 +764,8 @@ Вручну Блок День + Кожен %s Щодня - Кожні %1$s сек Епоха Ера Година @@ -748,6 +776,7 @@ Застейкати більше Ви стейкаєте %1$s і будете отримувати %2$s щороку Натисніть, щоб розблокувати + Натисніть, щоб розблокувати або проголосувати Натисніть, щоб вивести кошти Застейкати %s Зняти зі стейкінгу %s @@ -762,7 +791,7 @@ Валідатори Стратегічний партнер Проголосувати - Голос заблоковано + Проголосувати Зняти Ваші стейкінги Тримайте свою криптовалюту в безпеці. Приватні ключі надійно зберігаються на картці. diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 7d4c202a25..d8a5fd66bd 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -12,19 +12,19 @@ Can\'t send a transaction The selected does not support the %1$s network To activate the %1$s blockchain\'s cryptographic encryption, you\'ll need to reset the wallet to factory settings. Please withdraw your funds before doing so to ensure that you don\'t lose them, and then complete the reset process. Access to the current wallet will not be possible after the reset. - Tokens in %1$s network are not supported by this card due to firmware limitation. - Are you having difficulty scanning your card? + Tokens in %1$s network are not supported by this card or ring due to firmware limitation. + Are you having difficulty scanning your card or ring? This card is not designed to work with this app Default Fee Enable Default Fee to set transaction fees automatically and skip the Fee page when sending funds. You can always go back to this page if necessary. Go to settings to enable biometric authentication in the Tangem App Enable biometric authentication This will delete all the saved wallet access codes. Any further operation with the wallet will require submitting the access code. - Removing the saved card deletes all the saved wallets and their access codes from the app. + Removing the saved devices deletes all the saved wallets and their access codes from the app. Save Access Code - Biometric authentication will be requested instead of the access code for interactions with your card. + Biometric authentication will be requested instead of the access code for interactions with your card or ring. Keep the wallet in the app - Enable to link all the wallets to Tangem app. Biometric authentication will be required for unlocking the app. Transaction signing requires tapping your Tangem card. + Enable to link all the wallets to Tangem app. Biometric authentication will be required for unlocking the app. Transaction signing requires tapping your Tangem card or ring. Dark Light System default @@ -34,29 +34,29 @@ Don\'t show again Got it Balances are hidden - Please scan the card - Please try again in 30 seconds or scan the card + Please scan the card or ring + Please try again in 30 seconds or scan the card or ring Too many attempts You have disabled biometric authentication on your phone and will not be able to save wallets in the app. To save wallets, please enable the biometric authentication function in your phone settings. Start backup process Use a bank card or other payment methods - %d card - %d cards + %d device + %d devices - Disable this option if you don\'t want this card to be used to reset access codes on other cards in this wallet. Please note that this will also prevent you from resetting the access code on this card. + Disable this option if you don\'t want this card to be used to reset access codes on other cards or rings in this wallet. Please note that this will also prevent you from resetting the access code on this card. Allows you to use this card to reset access code on other cards in this wallet Access code recovery Reset Are you sure you want to do this? Change Access Code Access code will be changed on this card only - All cards in the selected wallet have been reset to factory settings. You can now create a new wallet. + All Tangem devices in the selected wallet have been reset to factory settings. You can now create a new wallet. Reset complete - Do you want to reset the next card in this wallet? - Card reset - We recommend completing the reset process for all cards in this wallet - You haven\'t reset all your cards + Do you want to reset the next device in this wallet? + Wallet reset + We recommend completing the reset process for all Tangem devices in this wallet + You haven\'t reset all your Tangem devices Reset to Factory Settings Security Mode Card settings @@ -119,12 +119,14 @@ Get addresses Go to provider Go to token + hour Import In progress Later %1$s left Locked Main network + month Network fee Amount sent will be reduced by %1$s (%2$s) to cover the selected fee level Next @@ -147,6 +149,7 @@ Save changes Search Search tokens + sec Seed phrase Select action Sell @@ -172,6 +175,7 @@ There was an error. Please try again. Unreachable Unstake + week Yes Contract address copied! Available networks @@ -208,7 +212,7 @@ Access code You will have to submit the correct access code before scanning the card Long Tap - This mechanism protects against proximity attacks on a card. It will enforce a delay between reception and execution of a command. + This mechanism protects against proximity attacks on a card or ring. It will enforce a delay between reception and execution of a command. Passcode Before executing any command entailing a change of the card state, you will have to enter the passcode. Referral program @@ -225,7 +229,7 @@ Details Check your internet connection or switch to a different network Terms of service - You have used a card from another wallet. Tap the card associated with this wallet + You have used a card or ring from another wallet. Tap the card or ring associated with this wallet My tokens You haven\'t added any tokens yet. Add tokens via Market to swap Cannot be swapped for %s @@ -282,14 +286,15 @@ Swap any asset in your portfolio for this token The following information is optional. You can erase it if you don\'t want to share it. Tell us what functions you are missing, and we will try to help you. - Please tell us what card do you have + Please tell us what card or ring do you have Hi support team, Please tell us more about your issue. Every small detail can help. My suggestions - Can\'t scan a card + Can\'t scan a card/ring Feedback Tangem feedback Can\'t send a transaction + Coin description error Transaction The network will charge a token approval fee to verify that you are authorizing the use of your token for the swap. Specify the approve limit for the selected token @@ -299,17 +304,17 @@ To continue, grant %1s smart contracts permission to use your %2s Give Permission Unlimited - Order card - Scan card + Order Tangem + Scan Tangem This information was generated with AI - To change the access code tap the card as shown above and do not remove until the end of the operation + To change the access code tap the card or ring as shown above and do not remove until the end of the operation To change the passcode tap the card as shown above and do not remove until the end of the operation - To create the wallet tap the card as shown above and do not remove until the end of the operation + To create the wallet tap the card or ring as shown above and do not remove until the end of the operation Tap the card #%s of the wallet Tap to scan Tap to sign - Tap the card - You have updated biometrics, scan your card to enter + Tap the card or ring + You have updated biometrics, scan your card or ring to enter Your balance should be higher than the fee value to make a transfer Not enough balance You don\'t have enough Mana for this transaction. Please wait until the Mana is refilled. Your Mana balance is %1$s/%2$s @@ -321,7 +326,7 @@ To begin tracking your crypto assets and transactions, add tokens Manage tokens To access all the networks you need to scan the card - Scan your card + Scan your card or ring Enjoy %1$s service fees on swaps via Changelly from February %2$s-%3$s Swap with Changelly, %s fees Tokens @@ -348,14 +353,14 @@ Choose wallet The wallet doesn\'t support more than one network To buy, exchange, or receive this asset, add it to your portfolio - This asset is not available + This asset is currently not supported in the wallet This asset is not available for this wallet Add to portfolio Add Available networks My portfolio Market - To generate addresses for selected networks, you must scan your Tangem Wallet card + To generate addresses for selected networks, you must scan your Tangem Wallet card or ring To add tokens pull this up or tap the search bar This section’s data is sourced from the following networks: %s Unable to load the data… @@ -447,11 +452,11 @@ Pull this up or tap the search bar to add tokens directly from the market Add tokens NFC is not available on your device - You have to set up a single access code to protect all your cards + You have to set up a single access code to protect all your cards or rings Protect - You can set up an individual access code on each card later + You can set up an individual access code on each card or ring later Personalize - The access code can be restored with a linked card. Don’t keep all cards at one place. + The access code can be restored with a linked card or ring. Don’t keep all at one place. Restore Choose any word, phrase, or number you want as your access code Create Access Code @@ -462,10 +467,10 @@ Please repeat the operation. The card will be reset to factory settings. Activation error Add tokens - You\'ve added one backup card. When backup process is finished you can\'t add more backup cards. If you have one more card, add it to backup. Do you like to continue the backup process? + You\'ve added one backup card or ring. When backup process is finished you can\'t add more backup devices. If you have one more card or ring, add it to backup. Do you like to continue the backup process? The backup process is partly complete. You can\'t exit it now. The passphrase is an advanced security feature that crypto wallets use. It adds an extra word or phrase of your own choosing to your already existing recovery phrase to unlock a brand-new set of addresses. - Add a backup card + Add a backup card or ring Scan the card #%d Backup now Scan the primary card @@ -475,11 +480,11 @@ Scan primary card Skip for later How does it work? - Let\'s generate all the keys on your card and create a secure wallet + Let\'s generate all the keys on your card or ring and create a secure wallet Create wallet Create a wallet Other options - Your keys will be securely generated inside the card. There is no seed phrase, which means nobody can export or steal it. + Your keys will be securely generated inside the card or ring. There is no seed phrase, which means nobody can export or steal it. Generate keys privately Your card is activated and ready to be used Success! @@ -508,20 +513,20 @@ Legacy To check whether you’ve written down your seed phrase correctly, please enter the 2nd, 7th and 11th words So, let’s check - To start the backup process add up to two backup cards. - You can add one more card or finalize the backup process + To start the backup process add up to two backup cards or rings. + You can add one more card or ring or finalize the backup process Prepare the backup card with number %s - Scan the primary card to start the backup process. + Scan the primary card or ring to start the backup process. Prepare the primary card with number %s - Your wallet card is configured and ready for use. - Max number of cards added. Finalize the backup process. + Your wallet is configured and ready for use. + Max number of devices added. Finalize the backup process. Activating wallet Backup card #%d - No backup cards + No backup cards or rings Notifications - One backup card added + One backup device added Prepare your card - Two backup cards added + Two backup devices added To get started, simply top up the wallet with any amount To get started, simply top up the wallet with more than %1$s %2$s Buy crypto @@ -529,7 +534,7 @@ Activate a wallet The twinning process is partly complete. You can\'t exit it now. If the process of creating the wallet gets interrupted in any way, you\'ll have to start over - You can backup your keys up to two other blank Tangem Wallet cards. + You can backup your keys up to two other blank Tangem Wallet cards or rings. Access code can be restored with one of backup cards. All the backup cards can be used as full-functional with the identical keys. You will be able to set an access code to protect your wallets. @@ -581,10 +586,12 @@ I understand that after performing this action, I will no longer have access to the current wallet I realize that I can\'t use this card to recover my access code on the other cards of the current wallet Factory Reset will completely delete the wallet from the selected card. You will not be able to restore the current wallet or use the card to recover the access code. - Factory Reset will completely delete the wallet from the selected card and remove it from the app. You will not be able to restore the current wallet. + Factory Reset will completely delete the wallet from the selected card or ring and remove it from the app. You will not be able to restore the current wallet. + Ring owners get 3 commission-free swaps on Changelly until 15.11! + Swap With 0%% Fees Now! Do you have a bank card from another country and a residence permit or registration outside the Russian Federation? Russian bank cards are not currently accepted - Log into the app and check your balance without scanning the card + Log into the app and check your balance without scanning the card or ring Access the app Allow to use biometrics Biometrics will be requested instead of the access code for interactions with your wallet @@ -592,10 +599,10 @@ It looks like you have biometric authentication disabled, it is necessary to save wallets Enable biometric authorization Would you like to use biometrics? - Note that making a transaction with your funds will still require your card - Scan card - Scan the card to change its settings. The changes will impact only the card you\'ve scanned and will not affect other cards tied to your wallet. - Get your card ready! + Note that making a transaction with your funds will still require your card or ring + Scan card or ring + Scan the card or ring to change its settings. The changes will impact only the card or ring you\'ve scanned and will not affect other devices tied to your wallet. + Get your Tangem ready! Already included in the entered address Your commission amount is %s times higher than the recommended amount. Please review and adjust your custom settings. You specified a commission below the recommended amount, which could cause a delay in your transaction. Continue? @@ -671,7 +678,7 @@ Transaction has been successfully signed and sent to the blockchain node. Wallet balance will be updated in a while %1$s is an asset in the Tron network. To calculate the fee and make a transaction you need to deposit some Tron (TRX) in your account. Transaction sent - Prepare to scan card you want to setup. + Prepare to scan card or ring you want to setup. Forget wallet This will remove the wallet from the application. The wallet itself can be added again. Name @@ -706,6 +713,7 @@ Locked Migrate Native staking + No active validators available for staking at the moment. Please try again later. Earned rewards will be sent to your wallet and available for use immediately Stake securely and start earning your rewards Stake securely and start earning daily rewards @@ -738,8 +746,6 @@ Daily Each %s Each day - Each %1$s days - Each %1$s sec Per Epoch Per Era Hourly @@ -748,7 +754,7 @@ Rewards Stake locked Stake more - You stake %1$s and will be receiving %2$s yearly + You stake %1$s and will be receiving your reward each %2$s Tap to unlock Tap to unlock or vote Tap to withdraw @@ -768,13 +774,13 @@ Vote Withdraw Your stakes - Store your crypto assets secure while keeping private keys contained in your card + Store your crypto assets secure while keeping private keys contained in your card or ring Revolutionary Hardware Wallet - Up to 3 physical cards to one wallet + Up to 3 physical cards or rings to one wallet Ultra Secure Backup - A hardware wallet for your Bitcoin, Ethereum and many more currencies simultaneously – all in one card + A hardware wallet for your Bitcoin, Ethereum and many more currencies simultaneously – all in one card or ring Thousands of Currencies - Use it on the go, anywhere, anytime. No wires or batteries. Just tap the card to your phone when you need your crypto. + Use it on the go, anywhere, anytime. No wires or batteries. Just tap the card or ring to your phone when you need your crypto. The Wallet for Everyone Meet Tangem Exchange, buy NFT\'s, make loans and deposits in more than 100 different decentralized services @@ -842,13 +848,13 @@ Tangem Twin This action is irreversible. You will not have access to the old wallet. Tap the twin card with number %s and do not remove until the end of the operation - Use %s or scan a card to have an access to your wallet + Use %s or scan a card/ring to have an access to your wallet Stay up to date with the latest features and news Be the first to know about new promotions Would you like to use\nPush-notifications? Add new wallet Are you sure you want to delete this wallet? - An error has occurred, please scan your card to log in + An error has occurred, please scan your card or ring to log in This wallet has already been saved, you can add another one The wallet with name %s already exists Wallet name @@ -856,7 +862,7 @@ Unlock all Unlock all with %s Blockchain is unreachable. Try later - Scan the card + Scan the card or ring Requesting to sign a message.\n\n%s Dapp %1$s, requesting to\nsign BNB transaction.\n\n%2$s Trade order for %1$s\nPrice: %2$s\nAmount to receive: %3$s\nAmount to pay: %4$s @@ -871,7 +877,7 @@ Session request contains unsupported blockchains for WalletConnect connection. Unsupported blockchains:\n Connection with this Dapp cannot be established due to its technical implementation. We\'ve encountered unknown error. Error message: %s. If the problem persists — feel free to contact our support - Wrong card selected in Tangem App + Wrong card or ring selected in Tangem App Failed to create transaction from Dapp data. Code: %s We\'ve encountered unknown error. Error code: %d. If the problem persists — feel free to contact our support No opened WalletConnect sessions @@ -896,10 +902,10 @@ No internet connection Wallet settings Tangem - Use %s or scan a card to unlock access to your wallet + Use %s or scan a card/ring to unlock access to your wallet The permission-granting process is currently underway and will be completed shortly Approval in Progress - It seems that the card activation was not completed correctly. This could be due to an issue with your device\'s NFC module or incorrect tapping of the card to your device. Please contact our Support team for assistance. + It seems that the card or ring activation was not completed correctly. This could be due to an issue with your device\'s NFC module or incorrect tapping of the card or ring to your device. Please contact our Support team for assistance. Activation error According to BNB network developers, support for the BEP-2 standard will end in June 2024. To avoid losing assets with this standard, please convert them to the BEP-20 standard. Use our swap service or third-party services to transfer funds to the BNB Smart Chain network. BNB Beacon Chain will shut down @@ -945,8 +951,8 @@ MATIC is being migrated to POL. However there is no deadline set and MATIC isn\'t being deprecated yet. You can safely continue using MATIC token or use exchanges to swap it for POL. MATIC to POL Migration - Use your card to get an address for %d network - Use your card to get an addresses for %d networks + Use your card or ring to get an address for %d network + Use your card or ring to get an addresses for %d networks Some addresses are missing The network is currently unreachable. Please try again later. @@ -973,11 +979,11 @@ You have an interrupted backup. Do you want to resume? Yes, resume Discard - If you will discard the backup now, then you will have to reset the cards to factory settings to start over again + If you will discard the backup now, then you will have to reset the devices to factory settings to start over again Resume backup This is an irreversible action Log in with %s - Scan card - Use %s or scan a card to access the app + Scan card or ring + Use %s or scan a card or ring to access the app Welcome back! diff --git a/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt b/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt index f565d3c428..62dcafbe9c 100644 --- a/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt +++ b/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt @@ -5,6 +5,7 @@ import com.tangem.datasource.local.preferences.PreferencesKeys import com.tangem.datasource.local.preferences.utils.get import com.tangem.datasource.local.preferences.utils.getSyncOrDefault import com.tangem.datasource.local.preferences.utils.store +import com.tangem.domain.wallets.models.UserWalletId import com.tangem.domain.wallets.repository.WalletsRepository import kotlinx.coroutines.flow.Flow @@ -24,7 +25,11 @@ internal class DefaultWalletsRepository( appPreferencesStore.store(key = PreferencesKeys.SAVE_USER_WALLETS_KEY, value = item) } - override suspend fun setHasWalletsWithRing() { - appPreferencesStore.store(key = PreferencesKeys.IS_RING_ADDED_KEY, value = true) + override suspend fun setHasWalletsWithRing(userWalletId: UserWalletId) { + appPreferencesStore.editData { + val added = it[PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY].orEmpty() + + it[PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY] = added + userWalletId.stringValue + } } } \ No newline at end of file diff --git a/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt b/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt index 868fe85a98..2239d356b5 100644 --- a/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt +++ b/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt @@ -1,5 +1,6 @@ package com.tangem.domain.wallets.repository +import com.tangem.domain.wallets.models.UserWalletId import kotlinx.coroutines.flow.Flow interface WalletsRepository { @@ -10,5 +11,5 @@ interface WalletsRepository { suspend fun saveShouldSaveUserWallets(item: Boolean) - suspend fun setHasWalletsWithRing() + suspend fun setHasWalletsWithRing(userWalletId: UserWalletId) } \ No newline at end of file diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt index 979ea6b5ed..e7f6c1fa97 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt @@ -22,7 +22,7 @@ import com.tangem.datasource.api.express.models.response.TxDetails import com.tangem.datasource.crypto.DataSignatureVerifier import com.tangem.datasource.local.preferences.AppPreferencesStore import com.tangem.datasource.local.preferences.PreferencesKeys -import com.tangem.datasource.local.preferences.utils.getSyncOrNull +import com.tangem.datasource.local.preferences.utils.getSyncOrDefault import com.tangem.domain.common.util.derivationStyleProvider import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.walletmanager.WalletManagersFacade @@ -191,6 +191,7 @@ internal class DefaultSwapRepository @Inject constructor( } override suspend fun findBestQuote( + userWalletId: UserWalletId, fromContractAddress: String, fromNetwork: String, toContractAddress: String, @@ -203,7 +204,10 @@ internal class DefaultSwapRepository @Inject constructor( ): Either { return withContext(coroutineDispatcher.io) { try { - val isRingAdded = appPreferencesStore.getSyncOrNull(PreferencesKeys.IS_RING_ADDED_KEY) + val addedWalletsWithRings = appPreferencesStore.getSyncOrDefault( + key = PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY, + default = emptySet(), + ) val response = tangemExpressApi.getExchangeQuote( fromContractAddress = fromContractAddress, @@ -215,7 +219,7 @@ internal class DefaultSwapRepository @Inject constructor( toDecimals = toDecimals, providerId = providerId, rateType = rateType.name.lowercase(), - refCode = if (isRingAdded == true) "ring" else null, + refCode = if (addedWalletsWithRings.contains(userWalletId.stringValue)) "ring" else null, ).getOrThrow() QuoteModel( toTokenAmount = createFromAmountWithOffset(response.toAmount, response.toDecimals), diff --git a/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt b/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt index 99bc772d79..41dbd1cf70 100644 --- a/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt +++ b/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt @@ -18,6 +18,7 @@ interface SwapRepository { @Suppress("LongParameterList") suspend fun findBestQuote( + userWalletId: UserWalletId, fromContractAddress: String, fromNetwork: String, toContractAddress: String, diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt index 97ad3eb467..fcd6a988c0 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt @@ -318,6 +318,7 @@ internal class SwapInteractorImpl @AssistedInject constructor( isBalanceWithoutFeeEnough: Boolean, ): Pair { val maybeQuotes = repository.findBestQuote( + userWalletId = userWalletId, fromContractAddress = fromToken.currency.getContractAddress(), fromNetwork = fromToken.currency.network.backendId, toContractAddress = toToken.currency.getContractAddress(), @@ -1192,14 +1193,15 @@ internal class SwapInteractorImpl @AssistedInject constructor( } val quotes = repository.findBestQuote( + userWalletId = userWalletId, fromContractAddress = fromToken.getContractAddress(), fromNetwork = fromToken.network.backendId, toContractAddress = toToken.getContractAddress(), toNetwork = toToken.network.backendId, fromAmount = amountToRequest.toStringWithRightOffset(), fromDecimals = amount.decimals, - providerId = provider.providerId, toDecimals = toToken.decimals, + providerId = provider.providerId, rateType = RateType.FLOAT, ) From e592b59734f5e88575770a9288b28f21be3f7db2 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 7 Oct 2024 16:49:15 +0300 Subject: [PATCH 05/12] Updated on 2026-08-14 --- .../InvalidatePendingTransactionsUseCase.kt | 42 +++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/domain/staking/src/main/java/com/tangem/domain/staking/InvalidatePendingTransactionsUseCase.kt b/domain/staking/src/main/java/com/tangem/domain/staking/InvalidatePendingTransactionsUseCase.kt index 3ed9de1336..bdc4d9565f 100644 --- a/domain/staking/src/main/java/com/tangem/domain/staking/InvalidatePendingTransactionsUseCase.kt +++ b/domain/staking/src/main/java/com/tangem/domain/staking/InvalidatePendingTransactionsUseCase.kt @@ -9,6 +9,7 @@ import com.tangem.domain.staking.repositories.StakingErrorResolver import com.tangem.domain.staking.repositories.StakingPendingTransactionRepository import com.tangem.domain.wallets.models.UserWalletId import org.joda.time.DateTime +import java.math.BigDecimal import java.util.UUID class InvalidatePendingTransactionsUseCase( @@ -41,12 +42,13 @@ class InvalidatePendingTransactionsUseCase( newBalancesId: Int, pendingData: List>, ): Pair, List> { - val balances = realData.associateBy { Pair(it.groupId to it.type, it.amount to it.date) }.toMutableMap() + val balances = realData.associateBy { BalanceIdentity(it.groupId, it.type, it.amount, it.date) } + .toMutableMap() val transactionsToRemove = mutableListOf() pendingData.forEach { (pendingTransaction, balanceItem) -> - val key = Pair(balanceItem.groupId to balanceItem.type, balanceItem.amount to balanceItem.date) + val key = BalanceIdentity(balanceItem.groupId, balanceItem.type, balanceItem.amount, balanceItem.date) val oldBalancesId = pendingTransaction.balancesId when { @@ -59,20 +61,36 @@ class InvalidatePendingTransactionsUseCase( else -> { val groupId = UUID.randomUUID().toString() val now = DateTime.now() - balances[Pair(groupId to BalanceType.STAKED, pendingTransaction.amount to now)] = BalanceItem( - groupId = groupId, - type = pendingTransaction.type, - amount = pendingTransaction.amount, - rawCurrencyId = pendingTransaction.rawCurrencyId, - validatorAddress = pendingTransaction.validator?.address, - date = null, - pendingActions = emptyList(), - isPending = true, - ) + balances[BalanceIdentity(groupId, BalanceType.STAKED, pendingTransaction.amount, now)] = + BalanceItem( + groupId = groupId, + type = pendingTransaction.type, + amount = pendingTransaction.amount, + rawCurrencyId = pendingTransaction.rawCurrencyId, + validatorAddress = pendingTransaction.validator?.address, + date = null, + pendingActions = emptyList(), + isPending = true, + ) + + balances.entries.find { + it.key.type == BalanceType.STAKED && + it.key.amount == pendingTransaction.amount && + !it.value.isPending + } + ?.key + ?.let { balances.remove(it) } } } } return balances.values.toList() to transactionsToRemove } + + private data class BalanceIdentity( + val groupId: String, + val type: BalanceType, + val amount: BigDecimal, + val date: DateTime?, + ) } \ No newline at end of file From 5006ccd343e14d749bd1c5afb42164410ba37a7b Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 8 Oct 2024 17:49:35 +0400 Subject: [PATCH 06/12] Updated on 2026-08-14 --- .../CardContextInterceptor.kt | 40 ++++++++++++------- .../wallet/ui/OnboardingWalletFragment.kt | 1 + .../data/wallets/DefaultWalletsRepository.kt | 6 +++ .../wallets/repository/WalletsRepository.kt | 2 + 4 files changed, 35 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/CardContextInterceptor.kt b/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/CardContextInterceptor.kt index e7c6feee04..edc221250e 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/CardContextInterceptor.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/CardContextInterceptor.kt @@ -10,7 +10,11 @@ import com.tangem.tap.common.analytics.converters.ParamCardCurrencyConverter import com.tangem.tap.common.analytics.events.AnalyticsParam import com.tangem.tap.common.analytics.events.IntroductionProcess import com.tangem.tap.common.analytics.events.MainScreen +import com.tangem.tap.common.extensions.inject import com.tangem.tap.features.demo.DemoHelper +import com.tangem.tap.proxy.redux.DaggerGraphState +import com.tangem.tap.store +import kotlinx.coroutines.runBlocking /** [REDACTED_AUTHOR] @@ -19,6 +23,8 @@ class CardContextInterceptor( private val scanResponse: ScanResponse, ) : ParamsInterceptor { + private val walletsRepository = store.inject(DaggerGraphState::walletsRepository) + private val userWalletId = UserWalletIdBuilder.scanResponse(scanResponse).build() override fun id(): String = CardContextInterceptor.id() @@ -33,7 +39,7 @@ class CardContextInterceptor( override fun intercept(params: MutableMap) { val card = scanResponse.card params[AnalyticsParam.BATCH] = card.batchId - params[AnalyticsParam.PRODUCT_TYPE] = getProductType(scanResponse) + params[AnalyticsParam.PRODUCT_TYPE] = getProductType() params[AnalyticsParam.FIRMWARE] = card.firmwareVersion.stringValue if (userWalletId != null) { params[AnalyticsParam.USER_WALLET_ID] = userWalletId.stringValue @@ -44,7 +50,13 @@ class CardContextInterceptor( } } - private fun getProductType(scanResponse: ScanResponse): String { + private fun getProductType(): String { + if (scanResponse.productType != ProductType.Ring && userWalletId != null) { + val isWalletWithRing = runBlocking { walletsRepository.isWalletWithRing(userWalletId) } + + if (isWalletWithRing) return "Ring" + } + return when (scanResponse.productType) { ProductType.Note -> "Note" ProductType.Twins -> "Twin" @@ -53,18 +65,18 @@ class CardContextInterceptor( ProductType.Ring -> "Ring" ProductType.Start2Coin -> "Start2Coin" ProductType.Visa -> "VISA" - else -> if (DemoHelper.isDemoCard(scanResponse)) { - if (DemoHelper.isTestDemoCard(scanResponse)) { - "Demo Test" - } else { - when (scanResponse.card.cardId.substring(0..1)) { - "AC" -> "Demo Wallet" - "AB" -> "Demo Note" - else -> "Demo Other" - } - } - } else { - "Other" + else -> if (DemoHelper.isDemoCard(scanResponse)) getDemoCardProductType() else "Other" + } + } + + private fun getDemoCardProductType(): String { + return if (DemoHelper.isTestDemoCard(scanResponse)) { + "Demo Test" + } else { + when (scanResponse.card.cardId.substring(0..1)) { + "AC" -> "Demo Wallet" + "AB" -> "Demo Note" + else -> "Demo Other" } } } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt index fb9acfefd5..b08e95d228 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt @@ -187,6 +187,7 @@ class OnboardingWalletFragment : when { state.wallet2State != null -> { seedPhraseStateHandler.newState(this, state, seedPhraseViewModel) + seedPhraseViewModel.setCardArtworkUri(cardArtworkUri = state.walletImages.primaryCardImage.toString()) updateWalletImagesState(state.walletImages) } else -> { diff --git a/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt b/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt index 62dcafbe9c..b7102a6b52 100644 --- a/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt +++ b/data/wallets/src/main/java/com/tangem/data/wallets/DefaultWalletsRepository.kt @@ -25,6 +25,12 @@ internal class DefaultWalletsRepository( appPreferencesStore.store(key = PreferencesKeys.SAVE_USER_WALLETS_KEY, value = item) } + override suspend fun isWalletWithRing(userWalletId: UserWalletId): Boolean { + return appPreferencesStore + .getSyncOrDefault(key = PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY, default = emptySet()) + .contains(element = userWalletId.stringValue) + } + override suspend fun setHasWalletsWithRing(userWalletId: UserWalletId) { appPreferencesStore.editData { val added = it[PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY].orEmpty() diff --git a/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt b/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt index 2239d356b5..ff8f854078 100644 --- a/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt +++ b/domain/wallets/src/main/java/com/tangem/domain/wallets/repository/WalletsRepository.kt @@ -11,5 +11,7 @@ interface WalletsRepository { suspend fun saveShouldSaveUserWallets(item: Boolean) + suspend fun isWalletWithRing(userWalletId: UserWalletId): Boolean + suspend fun setHasWalletsWithRing(userWalletId: UserWalletId) } \ No newline at end of file From f4755463b0c06a96af40e4d33f70a5e1fa7ca1d6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 8 Oct 2024 17:40:19 +0400 Subject: [PATCH 07/12] Updated on 2026-08-14 --- .../auth/DefaultExpressAuthProvider.kt | 19 +++++++++++++++++++ .../tangem/tap/network/auth/di/AuthModule.kt | 11 +++++++++-- .../common/SwitchEnvironmentInterceptor.kt | 4 +++- .../datasource/api/common/config/Express.kt | 1 + .../api/express/TangemExpressApi.kt | 6 ++++-- .../managers/ProdApiConfigsManagerTest.kt | 3 +++ .../feature/swap/DefaultSwapRepository.kt | 13 +------------ .../tangem/feature/swap/di/SwapDataModule.kt | 2 -- .../tangem/lib/auth/ExpressAuthProvider.kt | 2 ++ 9 files changed, 42 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/network/auth/DefaultExpressAuthProvider.kt b/app/src/main/java/com/tangem/tap/network/auth/DefaultExpressAuthProvider.kt index 99ddfe6b5b..7331b9f95c 100644 --- a/app/src/main/java/com/tangem/tap/network/auth/DefaultExpressAuthProvider.kt +++ b/app/src/main/java/com/tangem/tap/network/auth/DefaultExpressAuthProvider.kt @@ -1,12 +1,17 @@ package com.tangem.tap.network.auth +import com.tangem.datasource.local.preferences.AppPreferencesStore +import com.tangem.datasource.local.preferences.PreferencesKeys +import com.tangem.datasource.local.preferences.utils.getSyncOrDefault import com.tangem.datasource.local.userwallet.UserWalletsStore import com.tangem.lib.auth.ExpressAuthProvider +import kotlinx.coroutines.runBlocking import java.util.UUID import java.util.concurrent.atomic.AtomicReference internal class DefaultExpressAuthProvider( private val userWalletsStore: UserWalletsStore, + private val appPreferencesStore: AppPreferencesStore, ) : ExpressAuthProvider { private var uuid = AtomicReference(UUID.randomUUID()) @@ -18,4 +23,18 @@ internal class DefaultExpressAuthProvider( override fun getSessionId(): String { return uuid.get().toString() } + + override fun getRefCode(): String { + val addedWalletsWithRings = runBlocking { + appPreferencesStore.getSyncOrDefault( + key = PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY, + default = emptySet(), + ) + } + + val userWalletId = userWalletsStore.selectedUserWalletOrNull?.walletId?.stringValue + ?: error("No user id provided") + + return if (addedWalletsWithRings.contains(userWalletId)) "ring" else "" + } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/network/auth/di/AuthModule.kt b/app/src/main/java/com/tangem/tap/network/auth/di/AuthModule.kt index 41aa591911..614f6725ac 100644 --- a/app/src/main/java/com/tangem/tap/network/auth/di/AuthModule.kt +++ b/app/src/main/java/com/tangem/tap/network/auth/di/AuthModule.kt @@ -2,6 +2,7 @@ package com.tangem.tap.network.auth.di import com.tangem.datasource.api.common.AuthProvider import com.tangem.datasource.config.ConfigManager +import com.tangem.datasource.local.preferences.AppPreferencesStore import com.tangem.datasource.local.userwallet.UserWalletsStore import com.tangem.lib.auth.ExpressAuthProvider import com.tangem.lib.auth.StakeKitAuthProvider @@ -29,8 +30,14 @@ class AuthModule { @Provides @Singleton - fun provideExpressAuthProvider(userWalletsStore: UserWalletsStore): ExpressAuthProvider { - return DefaultExpressAuthProvider(userWalletsStore = userWalletsStore) + fun provideExpressAuthProvider( + userWalletsStore: UserWalletsStore, + appPreferencesStore: AppPreferencesStore, + ): ExpressAuthProvider { + return DefaultExpressAuthProvider( + userWalletsStore = userWalletsStore, + appPreferencesStore = appPreferencesStore, + ) } @Provides diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/common/SwitchEnvironmentInterceptor.kt b/core/datasource/src/main/java/com/tangem/datasource/api/common/SwitchEnvironmentInterceptor.kt index dbfbc5e54f..e47f1f8494 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/common/SwitchEnvironmentInterceptor.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/common/SwitchEnvironmentInterceptor.kt @@ -46,7 +46,9 @@ internal class SwitchEnvironmentInterceptor( private fun Request.Builder.addHeaders(headers: Map>): Request.Builder { headers.forEach { (name, valueProvider) -> - addHeader(name = name, value = valueProvider()) + val value = valueProvider() + + if (value.isNotBlank()) addHeader(name = name, value = value) } return this diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/Express.kt b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/Express.kt index 134d24a3ac..9835b3388c 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/Express.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/Express.kt @@ -51,6 +51,7 @@ internal class Express( put(key = "user-id", value = Provider(expressAuthProvider::getUserId)) put(key = "session-id", value = Provider(expressAuthProvider::getSessionId)) putAll(from = RequestHeader.AppVersionPlatformHeaders(appVersionProvider).values) + put(key = "refcode", value = Provider(expressAuthProvider::getRefCode)) } private fun getApiKey(isProd: Boolean): String { diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt index dc1c0b6418..54a7935d66 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/TangemExpressApi.kt @@ -5,7 +5,10 @@ import com.tangem.datasource.api.express.models.request.AssetsRequestBody import com.tangem.datasource.api.express.models.request.ExchangeSentRequestBody import com.tangem.datasource.api.express.models.request.PairsRequestBody import com.tangem.datasource.api.express.models.response.* -import retrofit2.http.* +import retrofit2.http.Body +import retrofit2.http.GET +import retrofit2.http.POST +import retrofit2.http.Query /** * Interface of Tangem Express API (new swap mechanism) @@ -33,7 +36,6 @@ interface TangemExpressApi { @Query("toDecimals") toDecimals: Int, @Query("providerId") providerId: String, @Query("rateType") rateType: String, - @Header("refcode") refCode: String? = null, ): ApiResponse @GET("exchange-data") diff --git a/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt b/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt index d818bd6c9f..c7e95f9f49 100644 --- a/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt +++ b/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt @@ -44,6 +44,7 @@ internal class ProdApiConfigsManagerTest(private val model: Model) { every { appVersionProvider.versionName } returns VERSION_NAME every { expressAuthProvider.getUserId() } returns EXPRESS_USER_ID every { expressAuthProvider.getSessionId() } returns EXPRESS_SESSION_ID + every { expressAuthProvider.getRefCode() } returns EXPRESS_REF_CODE every { stakeKitAuthProvider.getApiKey() } returns STAKE_KIT_API_KEY } @@ -65,6 +66,7 @@ internal class ProdApiConfigsManagerTest(private val model: Model) { const val VERSION_NAME = "debug" const val EXPRESS_USER_ID = "express_user_id" const val EXPRESS_SESSION_ID = "express_session_id" + const val EXPRESS_REF_CODE = "express_ref_code" const val EXPRESS_API_KEY = "express_api_key" const val EXPRESS_DEV_API_KEY = "express_dev_api_key" const val STAKE_KIT_API_KEY = "stake_kit_api_key" @@ -111,6 +113,7 @@ internal class ProdApiConfigsManagerTest(private val model: Model) { }, "user-id" to Provider { EXPRESS_USER_ID }, "session-id" to Provider { EXPRESS_SESSION_ID }, + "refcode" to Provider { EXPRESS_REF_CODE }, "version" to Provider { VERSION_NAME }, "platform" to Provider { "android" }, ), diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt index e7f6c1fa97..92424fa514 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt @@ -20,9 +20,6 @@ import com.tangem.datasource.api.express.models.response.SwapPair import com.tangem.datasource.api.express.models.response.SwapPairsWithProviders import com.tangem.datasource.api.express.models.response.TxDetails import com.tangem.datasource.crypto.DataSignatureVerifier -import com.tangem.datasource.local.preferences.AppPreferencesStore -import com.tangem.datasource.local.preferences.PreferencesKeys -import com.tangem.datasource.local.preferences.utils.getSyncOrDefault import com.tangem.domain.common.util.derivationStyleProvider import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.walletmanager.WalletManagersFacade @@ -41,18 +38,16 @@ import timber.log.Timber import java.io.IOException import java.math.BigDecimal import java.util.UUID -import javax.inject.Inject import com.tangem.datasource.api.express.models.request.LeastTokenInfo as NetworkLeastTokenInfo @Suppress("LongParameterList", "LargeClass") -internal class DefaultSwapRepository @Inject constructor( +internal class DefaultSwapRepository( private val tangemExpressApi: TangemExpressApi, private val coroutineDispatcher: CoroutineDispatcherProvider, private val walletManagersFacade: WalletManagersFacade, private val userWalletsListManager: UserWalletsListManager, private val errorsDataConverter: ErrorsDataConverter, private val dataSignatureVerifier: DataSignatureVerifier, - private val appPreferencesStore: AppPreferencesStore, moshi: Moshi, ) : SwapRepository { @@ -204,11 +199,6 @@ internal class DefaultSwapRepository @Inject constructor( ): Either { return withContext(coroutineDispatcher.io) { try { - val addedWalletsWithRings = appPreferencesStore.getSyncOrDefault( - key = PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY, - default = emptySet(), - ) - val response = tangemExpressApi.getExchangeQuote( fromContractAddress = fromContractAddress, fromNetwork = fromNetwork, @@ -219,7 +209,6 @@ internal class DefaultSwapRepository @Inject constructor( toDecimals = toDecimals, providerId = providerId, rateType = rateType.name.lowercase(), - refCode = if (addedWalletsWithRings.contains(userWalletId.stringValue)) "ring" else null, ).getOrThrow() QuoteModel( toTokenAmount = createFromAmountWithOffset(response.toAmount, response.toDecimals), diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt index 4a3706c560..fde540c8ab 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt @@ -33,7 +33,6 @@ internal class SwapDataModule { walletManagerFacade: WalletManagersFacade, userWalletsListManager: UserWalletsListManager, errorsDataConverter: ErrorsDataConverter, - appPreferencesStore: AppPreferencesStore, @NetworkMoshi moshi: Moshi, ): SwapRepository { return DefaultSwapRepository( @@ -43,7 +42,6 @@ internal class SwapDataModule { userWalletsListManager = userWalletsListManager, errorsDataConverter = errorsDataConverter, dataSignatureVerifier = dataSignature, - appPreferencesStore = appPreferencesStore, moshi = moshi, ) } diff --git a/libs/auth/src/main/java/com/tangem/lib/auth/ExpressAuthProvider.kt b/libs/auth/src/main/java/com/tangem/lib/auth/ExpressAuthProvider.kt index 8582fd21ed..ebca655e53 100644 --- a/libs/auth/src/main/java/com/tangem/lib/auth/ExpressAuthProvider.kt +++ b/libs/auth/src/main/java/com/tangem/lib/auth/ExpressAuthProvider.kt @@ -5,4 +5,6 @@ interface ExpressAuthProvider { fun getUserId(): String fun getSessionId(): String + + fun getRefCode(): String } \ No newline at end of file From 3993e1d690ebf68b41978a83c70ef21319368587 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 8 Oct 2024 20:29:06 +0400 Subject: [PATCH 08/12] Updated on 2026-08-14 --- .../tangem/tap/domain/sdk/TangemSdkManager.kt | 4 + .../sdk/impl/DefaultTangemSdkManager.kt | 59 +++++--- .../domain/sdk/impl/MockTangemSdkManager.kt | 4 + .../redux/OnboardingWalletMiddleware.kt | 4 + .../wallet/redux/OnboardingWalletReducer.kt | 4 + .../wallet/redux/OnboardingWalletState.kt | 2 + .../wallet/ui/OnboardingWalletFragment.kt | 55 +++++-- core/res/src/main/res/values-de/strings.xml | 12 +- core/res/src/main/res/values-es/strings.xml | 2 +- core/res/src/main/res/values-fr/strings.xml | 2 +- core/res/src/main/res/values-ja/strings.xml | 140 +++++++++--------- core/res/src/main/res/values-ru/strings.xml | 33 +++-- core/res/src/main/res/values/strings.xml | 43 +++--- gradle/dependencies.toml | 2 +- 14 files changed, 233 insertions(+), 133 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/TangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/TangemSdkManager.kt index 2dbfaec5b7..8b6a8cc74f 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/TangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/TangemSdkManager.kt @@ -134,5 +134,9 @@ interface TangemSdkManager { initialMessage: Message, ): CompletionResult + fun changeProductType(isRing: Boolean) + + fun clearProductType() + // endregion } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt index 835a2fee69..c2d455b867 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt @@ -9,7 +9,6 @@ import com.tangem.TangemSdk import com.tangem.common.* import com.tangem.common.authentication.AuthenticationManager import com.tangem.common.authentication.keystore.KeystoreManager -import com.tangem.common.card.FirmwareVersion import com.tangem.common.core.* import com.tangem.common.extensions.ByteArrayKey import com.tangem.common.services.secure.SecureStorage @@ -137,6 +136,14 @@ class DefaultTangemSdkManager( scanResponse: ScanResponse, shouldReset: Boolean, ): CompletionResult { + tangemSdk.config.setupForProduct( + if (scanResponse.cardTypesResolver.isRing()) { + ProductType.RING + } else { + ProductType.CARD + }, + ) + return runTaskAsync( runnable = CreateProductWalletTask( cardTypesResolver = scanResponse.cardTypesResolver, @@ -144,9 +151,14 @@ class DefaultTangemSdkManager( shouldReset = shouldReset, ), cardId = scanResponse.card.cardId, - initialMessage = Message(resources.getString(R.string.initial_message_create_wallet_body)), + initialMessage = if (scanResponse.cardTypesResolver.isRing()) { + Message(resources.getString(R.string.initial_message_create_wallet_body_ring)) + } else { + Message(resources.getString(R.string.initial_message_create_wallet_body)) + }, iconScanRes = if (scanResponse.cardTypesResolver.isRing()) R.drawable.img_hand_scan_ring else null, ) + .doOnResult { tangemSdk.config.setupForProduct(ProductType.ANY) } } override suspend fun importWallet( @@ -160,17 +172,31 @@ class DefaultTangemSdkManager( } catch (e: TangemSdkError.MnemonicException) { return CompletionResult.Failure(e) } + + tangemSdk.config.setupForProduct( + if (scanResponse.cardTypesResolver.isRing()) { + ProductType.RING + } else { + ProductType.CARD + }, + ) + return runTaskAsync( - CreateProductWalletTask( + runnable = CreateProductWalletTask( cardTypesResolver = scanResponse.cardTypesResolver, derivationStyleProvider = scanResponse.derivationStyleProvider, mnemonic = defaultMnemonic, passphrase = passphrase, shouldReset = shouldReset, ), - scanResponse.card.cardId, - Message(resources.getString(R.string.initial_message_create_wallet_body)), + cardId = scanResponse.card.cardId, + initialMessage = if (scanResponse.cardTypesResolver.isRing()) { + Message(resources.getString(R.string.initial_message_create_wallet_body_ring)) + } else { + Message(resources.getString(R.string.initial_message_create_wallet_body)) + }, ) + .doOnResult { tangemSdk.config.setupForProduct(ProductType.ANY) } } private fun sendScanResultsToAnalytics(result: CompletionResult) { @@ -381,6 +407,16 @@ class DefaultTangemSdkManager( return runTaskAsync(task, null, initialMessage) } + override fun changeProductType(isRing: Boolean) { + tangemSdk.config.setupForProduct( + type = if (isRing) ProductType.RING else ProductType.CARD, + ) + } + + override fun clearProductType() { + tangemSdk.config.setupForProduct(type = ProductType.ANY) + } + override suspend fun finalizeTwin( secondCardPublicKey: ByteArray, issuerKeyPair: KeyPair, @@ -398,18 +434,5 @@ class DefaultTangemSdkManager( companion object { private const val MAX_INITIALIZE_ATTEMPTS = 10 - - @Deprecated("Use [DefaultCardSdkProvider] instead") - val config = Config( - linkedTerminal = true, - allowUntrustedCards = true, - filter = CardFilter( - allowedCardTypes = FirmwareVersion.FirmwareType.values().toList(), - maxFirmwareVersion = FirmwareVersion(major = 6, minor = 33), - batchIdFilter = CardFilter.Companion.ItemFilter.Deny( - items = setOf("0027", "0030", "0031", "0035"), - ), - ), - ) } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt index 0dffc198a7..460b353cdf 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt @@ -174,6 +174,10 @@ class MockTangemSdkManager( return MockProvider.createSecondTwinWallet() } + override fun changeProductType(isRing: Boolean) = Unit + + override fun clearProductType() = Unit + override suspend fun finalizeTwin( secondCardPublicKey: ByteArray, issuerKeyPair: KeyPair, diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt index 6f46d4f764..8dabd175b0 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt @@ -512,6 +512,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) store.dispatchOnMain(BackupAction.SetHasRing(hasRing = isRing)) + tangemSdkManager.changeProductType(isRing) backupService.proceedBackup(iconScanRes = iconScanRes) { result -> when (result) { is CompletionResult.Success -> { @@ -520,6 +521,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) is CompletionResult.Failure -> Unit } } + tangemSdkManager.clearProductType() } is BackupAction.WriteBackupCard -> { val cardIndex = if (action.cardNumber > 0) action.cardNumber - 1 else action.cardNumber @@ -529,6 +531,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) store.dispatchOnMain(BackupAction.SetHasRing(hasRing = isRing)) + tangemSdkManager.changeProductType(isRing) backupService.proceedBackup(iconScanRes = iconScanRes) { result -> when (result) { is CompletionResult.Success -> { @@ -555,6 +558,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) } } } + tangemSdkManager.clearProductType() } is BackupAction.DiscardBackup -> { backupService.discardSavedBackup() diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index 8d95bd3b47..c7cb0ecd1e 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -110,7 +110,9 @@ private object BackupReducer { is BackupAction.PrepareToWritePrimaryCard -> if (state.primaryCardId == null) { state.copy( primaryCardId = backupService.primaryCardId, + primaryCardBatchId = backupService.primaryCardBatchId, backupCardIds = backupService.backupCardIds, + backupCardBatchIds = backupService.backupCardsBatchIds, backupCardsNumber = backupService.backupCardIds.size, backupStep = BackupStep.WritePrimaryCard, ) @@ -120,7 +122,9 @@ private object BackupReducer { is BackupAction.PrepareToWriteBackupCard -> if (state.primaryCardId == null) { state.copy( primaryCardId = backupService.primaryCardId, + primaryCardBatchId = backupService.primaryCardBatchId, backupCardIds = backupService.backupCardIds, + backupCardBatchIds = backupService.backupCardsBatchIds, backupCardsNumber = backupService.backupCardIds.size, backupStep = BackupStep.WriteBackupCard(action.cardNumber), ) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt index 57d5a5c46c..214dafe1b0 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt @@ -65,9 +65,11 @@ enum class OnboardingWalletStep { data class BackupState( val primaryCardId: String? = null, + val primaryCardBatchId: String? = null, val backupCardsNumber: Int = 0, val backupCards: List = emptyList(), val backupCardIds: List = emptyList(), + val backupCardBatchIds: List = emptyList(), @Transient val backupCardsArtworks: Map = emptyMap(), val accessCode: String = "", diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt index b08e95d228..bbeb4fbe22 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt @@ -28,6 +28,8 @@ import com.tangem.core.analytics.models.Basic import com.tangem.core.ui.extensions.setStatusBarColor import com.tangem.datasource.utils.isNullOrEmpty import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_IDS +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_PREFIX import com.tangem.feature.onboarding.data.model.CreateWalletResponse import com.tangem.feature.onboarding.presentation.wallet2.analytics.SeedPhraseSource import com.tangem.feature.onboarding.presentation.wallet2.viewmodel.SeedPhraseMediator @@ -398,13 +400,26 @@ class OnboardingWalletFragment : reInitCardsWidgetIfNeeded(state.backupCardsNumber) prepareViewForFinalizeStep() - val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) - tvHeader.text = getText(R.string.common_origin_card) - tvBody.text = getString( - R.string.onboarding_subtitle_scan_primary_card_format, - state.primaryCardId?.let { cardIdFormatter.getFormattedCardId(it) }, + val isRing = state.primaryCardBatchId != null && isRing(batchId = state.primaryCardBatchId) + + tvHeader.text = getText( + if (isRing) R.string.common_origin_ring else R.string.common_origin_card, ) - layoutButtonsCommon.btnWalletMainAction.text = getText(R.string.onboarding_button_backup_origin) + + tvBody.text = if (isRing) { + getString(R.string.onboarding_subtitle_scan_ring) + } else { + val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) + getString( + R.string.onboarding_subtitle_scan_primary_card_format, + state.primaryCardId?.let { cardIdFormatter.getFormattedCardId(it) }, + ) + } + + layoutButtonsCommon.btnWalletMainAction.text = getText( + if (isRing) R.string.onboarding_button_backup_ring else R.string.onboarding_button_backup_origin, + ) + layoutButtonsCommon.btnWalletMainAction.setIconResource(R.drawable.ic_tangem_24) layoutButtonsCommon.btnWalletMainAction.setOnClickListener { store.dispatch(BackupAction.WritePrimaryCard) } @@ -428,16 +443,26 @@ class OnboardingWalletFragment : prepareViewForFinalizeStep() val cardNumber = (state.backupStep as? BackupStep.WriteBackupCard)?.cardNumber ?: 1 - val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) - tvHeader.text = getString(R.string.onboarding_title_backup_card_format, cardNumber) - tvBody.text = getString( - R.string.onboarding_subtitle_scan_backup_card_format, - cardIdFormatter.getFormattedCardId(state.backupCardIds[cardNumber - 1]), + + val isRing = isRing(batchId = state.backupCardBatchIds[cardNumber - 1]) + tvHeader.text = getString( + if (isRing) R.string.onboarding_title_backup_ring else R.string.onboarding_title_backup_card, ) + + tvBody.text = if (isRing) { + getString(R.string.onboarding_subtitle_scan_ring) + } else { + val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) + getString( + R.string.onboarding_subtitle_scan_primary_card_format, + state.primaryCardId?.let { cardIdFormatter.getFormattedCardId(it) }, + ) + } + layoutButtonsCommon.btnWalletMainAction.text = getString( - R.string.onboarding_button_backup_card_format, - cardNumber, + if (isRing) R.string.onboarding_button_backup_ring else R.string.onboarding_button_backup_origin, ) + layoutButtonsCommon.btnWalletMainAction.setIconResource(R.drawable.ic_tangem_24) layoutButtonsCommon.btnWalletMainAction.setOnClickListener { store.dispatch(BackupAction.WriteBackupCard(cardNumber)) @@ -565,4 +590,8 @@ class OnboardingWalletFragment : } } } + + private fun isRing(batchId: String): Boolean { + return RING_BATCH_IDS.contains(batchId) || batchId.startsWith(RING_BATCH_PREFIX) + } } \ No newline at end of file diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index fa3319cfaa..242e76cf07 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -119,12 +119,14 @@ Adressen abrufen Zum Anbieter gehen Zum Token + Stunde Importieren In Arbeit Später %1$s übrig Gesperrt Hauptnetz + Monat Netzgebühr Der überwiesene Betrag wird um %1$s (%2$s) gekürzt, um die gewählte Gebührenhöhe zu decken. Weiter @@ -133,6 +135,7 @@ Jetzt OK Hauptkarte + Primärring Passphrase Einfügen Datenschutzbestimmungen @@ -173,6 +176,7 @@ Es ist ein Fehler aufgetreten. Bitte versuche es erneut. Nicht erreichbar staking beenden + Woche Ja Vertragsadresse kopiert! Verfügbare Netzwerke @@ -291,6 +295,7 @@ Rückmeldung Feedback zu Tangem Eine Transaktion kann nicht gesendet werden + Fehler in der Coinbeschreibung Nur diese Das Netzwerk erhebt eine Token-Genehmigungsgebühr, um zu überprüfen, ob Sie die Verwendung Ihres Tokens für den Swap genehmigen. Gib das Genehmigungslimit für das ausgewählte Token an @@ -306,6 +311,7 @@ Um den Zugangscode zu ändern, halte die Karte wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs. Um den Passcode zu ändern, halte die Karte wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs. Um die Wallet zu erstellen, halte die Karte wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs. + Um die Wallet zu erstellen, tippe auf den Ring wie oben gezeigt und entferne ihn erst am Ende des Vorgangs Halte deine Karte Nr. %s des Sets an dein Smartphone Legen Sie die Karte zum Scannen an Tippen um zu signieren @@ -349,7 +355,7 @@ Wallet auswählen Das Wallet unterstützt nicht mehr als ein Netzwerk Um dieses Asset zu kaufen, zu tauschen oder zu erhalten, füge diesen Deinem Portfolio hinzu - Dieses Asset ist nicht verfügbar + Dieses Asset wird derzeit in der Wallet nicht unterstützt. Dieses Asset ist für dieses Wallet nicht verfügbar Zum Portfolio hinzufügen Hinzufügen @@ -468,9 +474,11 @@ Der Sicherungsvorgang ist teilweise abgeschlossen. Du kannst ihn jetzt nicht beenden. Die Passphrase ist eine fortschrittliche Sicherheitsfunktion, die von Krypto-Wallets verwendet wird. Sie fügt ein zusätzliches Wort oder eine Phrase deiner Wahl zu der bereits bestehenden Wiederherstellungsphrase hinzu, um einen brandneuen Satz von Adressen zu erzeugen. Hinzufügen einer Sicherungskarte + Karte scannen Scanne die Karte Nr. %d Jetzt sichern Scannen der Hauptkarte + Ring scannen Weiter zu meiner Wallet Backup abschließen Krypto empfangen @@ -584,6 +592,8 @@ Mir ist klar, dass ich diese Karte nicht verwenden kann, um meinen Zugangscode auf den anderen Karten der aktuellen Wallet wiederherzustellen Durch das Zurücksetzen auf Werkseinstellungen wird die Wallet vollständig von der ausgewählten Karte gelöscht. Du kannst die aktuelle Wallet nicht wiederherstellen oder die Karte verwenden, um den Zugangscode wiederherzustellen. Beim Zurücksetzen auf die Werkseinstellungen wird die Wallet der ausgewählten Karte vollständig gelöscht und aus der App entfernt. Es ist nicht möglich, die aktuelle Wallet wiederherzustellen. + Ringbesitzer erhalten bis zum 15.11. 3 provisionsfreie Swaps auf Changelly! + Jetzt mit 0 %% Gebühren tauschen! Besitzt du eine Bankkarte aus einem anderen Land und eine Aufenthaltserlaubnis oder Registrierung außerhalb der Russischen Föderation? Russische Bankkarten werden derzeit nicht akzeptiert Melde dich bei der App an und überprüfe dein Guthaben, ohne die Karte zu scannen diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml index 406280f934..ea242dd220 100644 --- a/core/res/src/main/res/values-es/strings.xml +++ b/core/res/src/main/res/values-es/strings.xml @@ -344,7 +344,7 @@ Elegir wallet La billetera no admite más de una red Para comprar, intercambiar o recibir este activo, agréguelo a su portafolio - Este activo no está disponible + Este activo no está disponible en la billetera Añadir al portafolio Agregue un token Redes disponibles diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index d7c361e8d0..7cf0fda106 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -344,7 +344,7 @@ Choisissez un portefeuille Le portefeuille ne prend pas en charge plus d\'un réseau Pour acheter, échanger ou recevoir cet actif, ajoutez-le à votre portefeuille - Cet actif n\'est pas disponible + Cet actif n\'est plus pris en charge dans le portefeuille Ajouter au portfolio Ajoutez un jeton Réseaux disponibles diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index fc9a95d147..c1a429ffe6 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -12,19 +12,19 @@ 取引を送信できません 選択したものは%1$sネットワークをサポートしていません。 %1$sブロックチェーンの暗号化を有効にするには、ウォレットを工場出荷時の設定にリセットする必要があります。リセットする前に出金して、資金が失われないようにしてから、リセット処理を完了してください。リセット後は、現在のウォレットにアクセスできなくなります。 - %1$s ネットワークのトークンは、ファームウェアの制限により、このカードではサポートされていません。 - カードのスキャンに問題がありますか? + %1$s ネットワークのトークンは、ファームウェアの制限により、このカードまたはリングではサポートされていません。 + カードまたはリングのスキャンに問題がありますか? このカードはこのアプリでは使用できません。 デフォルト手数料 デフォルト手数料を有効にすると、取引手数料が自動的に設定され、送金時に手数料ページを表示する必要がなくなります。必要に応じて、いつでもこのページに戻ることができます。 設定に移動して、Tangemアプリで生体認証を有効にします。 生体認証を有効にする これにより、保存されているウォレットアクセスコードがすべて削除されます。ウォレットでの今後の操作には、アクセスコードの送信が必要になります。 - 保存したカードを削除すると、保存されているすべてのウォレットとそのアクセスコードがアプリから削除されます。 + 保存したデバイスを削除すると、保存されているすべてのウォレットとそのアクセスコードがアプリから削除されます。 アクセスコードを保存 - カードとのやり取りには、アクセスコードの代わりに生体認証が要求されます。 + カードまたはリングとのやり取りには、アクセスコードの代わりに生体認証が要求されます。 ウォレットをアプリに保存する - すべてのウォレットをTangemアプリにリンクできるようにします。アプリのロックを解除するには、生体認証が必要になります。取引の署名には、Tangemカードをタップする必要があります。 + すべてのウォレットをTangemアプリにリンクできるようにします。アプリのロックを解除するには、生体認証が必要になります。取引の署名には、Tangemカードまたはリングをタップする必要があります。 ダーク ライト システムのデフォルト @@ -34,28 +34,28 @@ 今後表示しない わかりました 残高は非表示 - カードをスキャンしてください - 30秒後に再試行するか、カードをスキャンしてください。 + カードまたはリングをスキャンしてください + 30秒後に再試行するか、カードまたはリングをスキャンしてください 試行回数が多すぎます お使いの携帯電話で生体認証が無効になっているため、アプリにウォレットを保存できません。ウォレットを保存するには、携帯電話の設定で生体認証機能を有効にしてください。 バックアップ処理を開始する 銀行カードまたはその他の支払い方法を使用する - %d カード + %d デバイス - このカードを使用して、このウォレット内の他のカードのアクセスコードをリセットしたくない場合は、このオプションを無効にしてください。これにより、このカードのアクセスコードもリセットできなくなりますのでご注意ください。 + このカードを使用して、このウォレット内の他のカードまたはリングのアクセスコードをリセットしたくない場合は、このオプションを無効にしてください。これにより、このカードのアクセスコードもリセットできなくなりますのでご注意ください。 このカードを使用して、このウォレット内の他のカードのアクセスコードをリセットできます。 アクセスコードの復元 リセット 本当に実行しますか? アクセスコードの変更 アクセスコードは、このカードのみで変更されます - 選択したウォレットのすべてのカードが、工場出荷時の設定にリセットされました。これで、新しいウォレットを作成できます。 + 選択したウォレットのすべてのTangemデバイスが、工場出荷時の設定にリセットされました。これで、新しいウォレットを作成できます。 リセット完了 - このウォレットの次のカードをリセットしますか? - カードのリセット - このウォレットのすべてのカードをリセットすることをお勧めします。 - すべてのカードのリセットが完了していません。 + このウォレットの次のデバイスをリセットしますか? + ウォレットのリセット + このウォレットのすべてのTangemデバイスをリセットすることをお勧めします + すべてのTangemデバイスのリセットが完了していません 工場出荷時の設定にリセット セキュリティ・モード カード設定 @@ -132,6 +132,7 @@ わかりました プライマリーカード + プライマリーリング パスフレーズ ペースト プライバシーポリシー @@ -209,7 +210,7 @@ アクセスコード カードをスキャンする前に、正しいアクセスコードを送信する必要があります。 長くタップ - このメカニズムは、カードに対する近接攻撃から保護します。コマンドの受信と実行の間に遅延を強制します。 + このメカニズムは、カードまたはリングに対する近接攻撃から保護します。コマンドの受信と実行の間に遅延を強制します。 パスコード カードの状態の変更を伴うコマンドを実行する前に、パスコードを入力する必要があります。 紹介プログラム @@ -226,7 +227,7 @@ 詳細 インターネット接続を確認するか、別のネットワークに切り替えてください。 利用規約 - 別のウォレットのカードを使用しました。このウォレットに関連付けられているカードをタップしてください。 + 別のウォレットのカードまたはリングを使用しました。このウォレットにリンクしているカードまたはリングをタップしてください。 マイトークン まだトークンを追加していません。マーケットからトークンを追加して交換してください。 %sとの交換はできません @@ -283,11 +284,11 @@ ポートフォリオ内のアセットをこのトークンと交換する 以下の情報はオプションです。共有したくない場合は消去できます。 どのような機能が不足しているかを教えください。解決できるよう尽力致します。 - お持ちのカードについて教えてください + お持ちのカードまたはリングについて教えてください サポートチームの皆さん、こんにちは。 問題について詳しく教えてください。どんな些細なことでも役に立ちます。 私の提案 - カードをスキャンできません + カード / リングをスキャンできません フィードバック Tangemへのフィードバック 取引を送信できません @@ -301,17 +302,18 @@ 続行するには、%1sスマートコントラクトに%2sを使用する権限を付与してください 許可を与える 無制限 - カードを注文 - スキャン + Tangemを注文 + Tangemをスキャン この情報はAIによって生成されました - アクセスコードを変更するには、上図のようにカードをタップし、操作が終了するまで取り外さないでください。 + アクセスコードを変更するには、上図のようにカードまたはリングをタップし、操作が終了するまで取り外さないでください。 パスコードを変更するには、上記のようにカードをタップし、操作が終了するまで取り外さないでください。 ウォレットを作成するには、上記のようにカードをタップし、操作が終了するまで取り外さないでください。 + ウォレットを作成するには、上図のようにリングをタップし、操作が終了するまで取り外さないでください。 ウォレットの%s番目のカードをタップします タップしてスキャン タップして署名 - カードをタップ - 生体認証を更新しました。カードをスキャンして入ってください。 + カードまたはリングをタップ + 生体認証を更新しました。カードまたはリングをスキャンして入ってください。 送金するには、残高が手数料額より高くなければなりません。 残高不足 この取引に必要なManaが不足しています。Manaが補充されるまでお待ちください。あなたのMana残高は%1$s/%2$sです。 @@ -323,7 +325,7 @@ 暗号資産および取引の追跡を開始するには、トークンを追加してください トークンの管理 すべてのネットワークにアクセスするには、カードをスキャンする必要があります。 - カードをスキャンする + カードまたはリングをスキャンする 2月%2$s - %3$sの期間、Changelly経由のスワップは%1$sのサービス手数料となります。 Changellyでスワップ、手数料%s トークン @@ -356,7 +358,7 @@ 利用可能なネットワーク 私のポートフォリオ マーケット - 選択したネットワークのアドレスを生成するには、Tangemカードをスキャンする必要があります。 + 選択したネットワークのアドレスを生成するには、Tangemウォレットカードまたはリングをスキャンする必要があります。 トークンを追加するには、これをスワイプするか、検索バーをタップしてください。 このセクションのデータは、次のネットワークから取得されています: %s データを読み込めません… @@ -446,11 +448,11 @@ これをドラッグするか、検索窓をタップして、マーケットから直接トークンを追加します トークンを追加 お使いのデバイスではNFCが使用できません - すべてのカードを保護するには、単一のアクセスコードを設定する必要があります + すべてのデバイスを保護するには、単一のアクセスコードを設定してください。 保護する - 後で各カードに個別のアクセスコードを設定できます + 後で各カードおよびリングに個別のアクセスコードを設定できます。 パーソナライズする - アクセスコードはリンクされたカード1枚で復元できます。すべてのカードを1か所に保管しないでください。 + アクセスコードはリンクされたカードおよびリング1つで復元できます。すべてのデバイスを1か所に保管しないでください。 復元する アクセスコードとして任意の単語、フレーズ、または数字を選択してください アクセスコードの作成 @@ -461,24 +463,26 @@ 操作を繰り返してください。カードは工場出荷時の設定にリセットされます。 アクティベーションに失敗しました トークンを追加する - バックアップカードを1枚追加しました。バックアップ処理が終了すると、これ以上バックアップカードを追加することはできません。もう一枚カードがあれば、バックアップに追加してください。バックアップ処理を続けますか? + バックアップカードまたはリングを1つ追加しました。バックアップ処理が終了すると、これ以上バックアップデバイスを追加することはできません。もう一つカードまたはリングがある場合、バックアップに追加してください。バックアップ処理を続けますか? バックアップ手続きは部分的に完了しています。現在終了することはできません。 パスフレーズは、暗号資産ウォレットが使用する高度なセキュリティ機能です。既存のリカバリフレーズに、自分で選択した単語またはフレーズを追加することで、まったく新しいアドレスのロック解除が可能になります。 - バックアップカードを追加する + バックアップ用のカードまたはリングを追加 + カードをスキャン カード #%d をスキャン 今すぐバックアップ - プライマリカードをスキャン + カードをスキャン + リングをスキャン ウォレットへ進む バックアップを完了する 暗号資産を受け取る プライマリカードをスキャン スキップする どのように機能しますか? - すべての秘密鍵をカード内で生成し、安全なウォレットを作成しましょう + すべての秘密鍵をカードまたはリング内で生成し、安全なウォレットを作成しましょう ウォレットを作成する ウォレットを作成する その他のオプション - 秘密鍵はカード内で安全に生成されます。シードフレーズは存在しないので、誰もエクスポートしたり盗んだりすることはできません。 + 秘密鍵はカードまたはリング内で安全に生成されます。シードフレーズは存在しないので、誰もエクスポートしたり盗んだりすることはできません。 秘密鍵を非公開で生成する カードは有効化され、使用可能になりました 成功! @@ -498,27 +502,27 @@ ウォレットをインポートするには、下のフィールドにシードフレーズを入力してください。 シードフレーズを生成する ウォレットをインポート - シードフレーズは、ウォレットを復元できる一連の単語です。カードによって生成される秘密鍵とは異なり、シードフレーズは保護されていないため、コピーされて盗まれる可能性があります。このオプションは自己責任で使用してください。 + シードフレーズは、ウォレットを復元できる一連の単語です。カードやリングによって生成される秘密鍵とは異なり、シードフレーズは保護されていないため、コピーされて盗まれる可能性があります。このオプションは自己責任で使用してください。 シードフレーズを使用する 無効なシードフレーズです。語順を確認してください。 無効なシードフレーズです。スペルを確認してください。 レガシー シードフレーズを正しく書き込んだかどうかを確認するために、2番目、7番目、11番目の単語を入力してください。 では、確認してみましょう - バックアップ処理を開始するには、最大2枚のバックアップカードを追加します。 - カードをもう1枚追加するか、バックアップ処理を完了します + バックアップ処理を開始するには、最大2つのバックアップカードまたはリングを追加します。 + カードまたはリングをもう1つ追加するか、バックアップ処理を完了します 番号%sのバックアップカードを準備してください - プライマリカードをスキャンして、バックアップ処理を開始します。 + プライマリカードまたはリングをスキャンして、バックアップ処理を開始します。 番号%sのプライマリカードを準備してください - ウォレットカードが設定され、使用できるようになりました。 - 最大枚数のカードが追加されました。バックアップ処理を完了します。 - カードの有効化 + ウォレットが設定され、使用できるようになりました。 + 最大数のデバイスが追加されました。バックアップ処理を完了します。 + ウォレットの有効化 バックアップカード # %d - バックアップカードなし + バックアップカードまたはリングなし 通知 - バックアップカードが1枚追加されました + バックアップデバイスが1つ追加されました カードを準備してください - バックアップカード2枚が追加されました + バックアップデバイス2つが追加されました 始めるには、ウォレットに任意の金額を入金するだけです 始めるには、ウォレットに%1$s %2$s以上入金するだけです 暗号資産を購入する @@ -526,7 +530,7 @@ ウォレットを有効化する ツイン化プロセスは部分的に完了しています。現在終了することはできません。 ウォレットの作成プロセスが何らかの理由で中断された場合は、最初からやり直す必要があります。 - 秘密鍵のバックアップは、未使用のTangemウォレットカード2枚まで可能です。 + 秘密鍵のバックアップは、未使用のTangemウォレットカードまたはリング2つまで可能です。 アクセスコードは、バックアップカード1枚を使用して復元できます。 すべてのバックアップカードは同一の秘密鍵を使用しており、すべての機能を使用できます。 ウォレットを保護するためにアクセスコードを設定できます。 @@ -575,13 +579,13 @@ カードをリセットする この操作を実行すると、現在のウォレットにアクセスできなくなることを理解しています。 このカードを使用して、現在のウォレットの他のカードのアクセスコードを回復させられないことを認識しています。 - 工場出荷時設定にリセットすると、選択したカードからウォレットが完全に削除されます。現在のウォレットを復元したり、カードを使用してアクセスコードを回復したりすることはできません。 - 工場出荷時の状態にリセットすると、選択したカードからウォレットが完全に削除され、アプリから削除されます。現在のウォレットを復元することはできません。 + 工場出荷時設定にリセットすると、選択したカードやリングからウォレットが完全に削除されます。現在のウォレットを復元したり、カードやリングを使用してアクセスコードを復元することはできません。 + 工場出荷時の状態にリセットすると、選択したカードやリングからウォレットが完全に削除され、アプリから削除されます。現在のウォレットを復元することはできません。 Tangem Ringユーザーは、11/15日までChangelly経由でスワップを3回手数料ゼロで行えます! 今すぐ手数料0%でスワップしましょう! 他の国の銀行カードと、ロシア連邦外での居住許可証または登録をお持ちですか? ロシアの銀行カードは現在ご利用いただけません - アプリにログインして、カードをスキャンせずに残高を確認できます + アプリにログインして、カードまたはリングをスキャンせずに残高を確認できます アプリにアクセスする 生体認証の使用を許可する ウォレットの操作には、アクセスコードの代わりに生体認証が要求されます。 @@ -589,10 +593,10 @@ 生体認証が無効になっているようです。ウォレットを保存する必要があります。 生体認証を有効にする 生体認証を使用しますか? - 資金を使って取引を行うには、カードが必要になりますのでご注意ください。 - カードをスキャン - カードをスキャンして設定を変更します。変更はスキャンしたカードにのみ影響し、ウォレットに関連付けられている他のカードには影響しません。 - カードを準備してください! + 資金を使って取引を行うには、カードまたはリングが必要になりますのでご注意ください + カードまたはリングをスキャン + カードまたはリングをスキャンして設定を変更します。変更はスキャンしたカードまたはリングにのみ影響し、ウォレットに関連付けられている他のデバイスには影響しません。 + Tangemを準備してください! 入力したアドレスにすでに含まれています 手数料額が推奨額の%s倍となっています。設定を再度確認し、調整してください。 推奨手数料を下回る手数料が指定されたため、取引に遅れが生じる可能性があります。続行しますか? @@ -668,7 +672,7 @@ 取引は正常に署名され、ブロックチェーンノードに送信されました。ウォレットの残高はしばらくして更新されます。 %1$sはTronネットワークのアセットです。手数料を計算して取引を行うには、アカウントにTron(TRX)を入金する必要があります。 取引が送信されました - セットアップしたいカードをスキャンするために準備してください。 + 設定したいカードまたはリングをスキャンするために準備してください。 ウォレット削除 これにより、ウォレットがアプリから削除されます。ウォレットは再度追加できます。 名前 @@ -692,7 +696,7 @@ 請求中の報酬 ステーキング報酬の受け取り方法。\n自動であなたのアドレスに報酬が入金される方法と、手動で取引を生成して報酬を引き出す方法があります。 報酬スケジュール - これは、ステーキングの参加者がいつ報酬を受け取るかを決定するスケジュールです。 + これは、ステーキングの参加者が報酬を受け取る時期を決定するスケジュールです。報酬の配布時間は、バリデーターとネットワークの負荷に応じて若干異なる場合があります。 報酬: %s ステーキング%s 解約完了までの期間 @@ -744,7 +748,7 @@ 報酬 ステーキングはロックされています もっとステーキングする - %1$sをステーキングし、年間 %2$sを受け取ります + %1$sをステーキングし、毎%2$s報酬を受け取ります タップしてロック解除 タップしてロック解除もしくは投票 タップして引き出す @@ -764,13 +768,13 @@ 投票する 引き出す あなたのステーキング - カード内に秘密鍵を保管しながら暗号資産を安全に保管します + カードまたはリング内に秘密鍵を保管しながら、暗号資産を安全に保管します 革新的なハードウェアウォレット - 1つのウォレットに最大3枚のカード + 1つのウォレットに最大3枚のカードまたは3本のリング 安全なバックアップ - ビットコイン、イーサリアム、その他多くの暗号資産を同時に管理できるハードウェアウォレット – オールインワンカード + ビットコイン、イーサリアム、その他多くの暗号資産を同時に管理できるハードウェアウォレット – オール・イン・ワンのカード / リング 数千の通貨 - 外出先でも、いつでもどこでも使用できます。コードや電池は不要です。暗号資産が必要なときに、カードをスマートフォンにタップするだけです。 + 外出先でも、いつでもどこでも使用できます。コードや電池は不要です。暗号資産が必要なときに、カードまたはリングをスマートフォンにタップするだけです。 すべての人のためのウォレット Tangemのご紹介 100種類以上の分散型サービスで、NFTの交換・購入や、借入・預金を行うことができます。 @@ -838,13 +842,13 @@ Tangemツイン この操作は元に戻せません。古いウォレットにはアクセスできなくなります。 番号%sのツインカードをタップし、操作が終了するまで取り外さないでください。 - %sを使用するか、カードをスキャンしてウォレットにアクセスしてください + %sを使用するか、カード / リングをスキャンしてウォレットにアクセスしてください 最新の機能とニュースをお届けします 新しいプロモーション情報をいち早く入手しましょう プッシュ通知を使用しますか? 新しいウォレットを追加 本当にこのウォレットを削除してもよろしいですか? - エラーが発生しました。カードをスキャンしてログインしてください。 + エラーが発生しました。カードまたはリングをスキャンしてログインしてください。 このウォレットはすでに保存されています。別のウォレットを追加できます。 %sという名前のウォレットはすでに存在します。 ウォレット名 @@ -852,7 +856,7 @@ すべてのロックを解除 %sですべてをロック解除 ブロックチェーンにアクセスできません。後でもう一度お試しください。 - カードをスキャン + カードまたはリングをスキャン メッセージに署名することを要求しています。 \n\n %s Dapp%1$s 、BNB取引の署名を要求しています\n\n%2$s %1$sの取引注文\n価格: %2$s\n受取金額: %3$s\n支払金額: %4$s @@ -866,7 +870,7 @@ セッションリクエストには、WalletConnect接続でサポートされていないブロックチェーンが含まれています。サポートされていないブロックチェーン: \n 技術的な実装のため、このDappとの接続は確立できません。 不明なエラーが発生しました。エラーメッセージ: %s 。問題が解決しない場合は、お気軽にサポートにお問い合わせください。 - Tangemアプリで間違ったカードが選択されました + Tangemアプリで誤ったカードまたはリングが選択されました Dappデータから取引を作成できませんでした。コード: %s 不明なエラーが発生しました。エラーコード: %d 。問題が解決しない場合は、お気軽にサポートにお問い合わせください。 WalletConnectセッションが開かれていません @@ -891,10 +895,10 @@ インターネット接続がありません ウォレット設定 Tangem - %sを使用するか、カードをスキャンしてウォレットにアクセスしてください + %sを使用するか、カード / リングをスキャンしてウォレットにアクセスしてください 許可付与のプロセスは現在進行中であり、まもなく完了する予定です。 承認中 - カードのアクティベーションが正しく完了しませんでした。デバイスの NFCモジュールに問題があるか、カードをデバイスに正しくタップしていないことが原因かもしれません。サポートチームにお問い合わせください。 + カードまたはリングのアクティベーションが正しく完了しませんでした。デバイスのNFCモジュールに問題があるか、カードまたはリングをデバイスに正しくタップしていないことが原因かもしれません。サポートチームにお問い合わせください。 アクティベーションに失敗しました BNBネットワーク開発者によると、BEP-2規格のサポートは2024年6月に終了します。この規格の資産を失わないために、BEP-20規格に変換してください。BNBスマートチェーンネットワークへ移行するには、Tangemのスワップサービスをご利用ください。 BNBビーコンチェーンは閉鎖されます。 @@ -940,7 +944,7 @@ MATICはPOLに移行中です。ただし、期限は設定されておらず、MATICはまだ廃止されていません。MATICトークンを引き続き安全に使用することも、取引所でPOLに交換することもできます。 MATICからPOLへの移行 - %d ネットワークのアドレスを取得するために、カードを利用してください + %d ネットワークのアドレスを取得するために、カードまたはリングを利用してください 一部のアドレスが見つかりません 現在、ネットワークにアクセスできません。しばらくしてからもう一度お試しください。 @@ -967,11 +971,11 @@ バックアップが中断されました。再開しますか? はい、再開します 破棄 - バックアップを破棄する場合は、カードを工場出荷時の設定にリセットしてやり直す必要があります。 + バックアップを破棄する場合は、デバイスを工場出荷時の設定にリセットしてやり直す必要があります。 バックアップを再開する これはやり直しができないアクションです %sでログイン - カードをスキャン - アプリにアクセスするには、 %sを使用するか、カードをスキャンしてください + カードまたはリングをスキャン + アプリにアクセスするには、 %sを使用するか、カードまたはリングをスキャンします お帰りなさい! diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index e9dc92acd8..5fa173ec0f 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -122,7 +122,7 @@ По рынку Медленно Скорость и комиссия - Получить адреса + Получить ваши адреса К провайдеру Перейти в токен Импортировать @@ -131,6 +131,7 @@ Осталось %1$s Заблокирован Основная сеть + месяц Сетевая комиссия Сумма отправки будет уменьшена на %1$s (%2$s) для покрытия выбранного уровня комиссии Далее @@ -139,6 +140,7 @@ Сейчас OK Основная карта + Основное кольцо Парольная фраза Вставить Политикой конфиденциальности @@ -312,7 +314,8 @@ Информация сгенерирована ИИ Чтобы изменить код доступа, приложите карту или кольцо как показано выше и не убирайте до окончания операции Чтобы изменить пароль, приложите карту как показано выше и не убирайте до окончания операции - Чтобы создать кошелек, приложите карту или кольцо как показано выше и не убирайте до окончания операции + Чтобы создать кошелек, приложите карту как показано выше и не убирайте до окончания операции + Чтобы создать кошелек, приложите кольцо как показано выше и не убирайте до окончания операции Приложите карту #%s для сброса Приложите, чтобы отсканировать Приложите, чтобы подписать @@ -336,6 +339,7 @@ Добавить Изменить Рыночная капитализация + Блокчейн, в котором криптовалюта изначально была создана Основная сеть Не основной или основной блокчейн, на котором размещен токен Не основные сети @@ -459,11 +463,11 @@ Потяните вверх или коснитесь поисковой строки, чтобы добавить токены напрямую из рынка Добавить токены Функция NFC недоступна на вашем устройстве - Вам необходимо установить единый код доступа для защиты всех ваших карт или колец + Установите единый код доступа для защиты всех ваших карт или колец Защита - Позже вы сможете установить индивидуальный код доступа для каждой карты или кольца + Установите индивидуальный код доступа для каждой карты или кольца позже. Персонализация - Код доступа можно восстановить с помощью привязанной карты или кольца. Не храните все в одном месте. + Восстановите код доступа с помощью связанной карты или кольца. Не храните все устройства в одном месте. Восстановление Выберите любое слово, фразу или число в качестве кода доступа Создайте код доступа @@ -477,10 +481,12 @@ Вы добавили одну резервную карту или кольцо. После того, как процесс будет завершен, Вы больше не сможете добавить еще. Если у Вас есть еще одна карта или кольцо, добавьте ее в резервную копию. Хотите продолжить? Процесс резервного копирования почти завершен. Вы не можете выйти из него сейчас. Парольная фраза — это расширенная функция безопасности, которую используют криптокошельки. Она добавляет дополнительное слово или фразу по вашему выбору к уже существующей seed - фразе, чтобы разблокировать совершенно новый набор адресов. - Добавить резервную карту или кольцо + Добавить карту или кольцо + Сканировать карту Сканировать карту #%d Создать резервную копию - Сканировать основную карту + Сканировать карту + Сканировать кольцо Перейти к моему кошельку Завершение бэкапа Получить криптовалюту @@ -491,7 +497,7 @@ Создать кошелек Создать кошелек Другие опции - Ваши ключи будут надежно сгенерированы внутри карты или кольца. Никакой seed-фразы, а это значит, что никто не может экспортировать или украсть ее. + Ваши ключи будут надежно сгенерированы внутри чипа. Никакой seed-фразы, а это значит, что никто не может экспортировать или украсть ее. Cоздавайте ключи приватно Ваша карта активирована и готова к использованию Успешно! @@ -517,7 +523,7 @@ Чтобы импортировать кошелек, введите seed-фразу в поле ниже Создать seed-фразу Импорт кошелька - Seed-фраза — это набор слов, который дает возможность восстановить кошелек. В отличие от ключей, сгенерированных картой, seed-фраза не защищена и может быть скопирована и украдена. Используйте этот вариант на свой страх и риск. + Seed-фраза — это набор слов, который дает возможность восстановить кошелек. В отличие от ключей, сгенерированных картой или кольцом, seed-фраза не защищена и может быть скопирована и украдена. Используйте этот вариант на свой страх и риск. Использовать seed-фразу Неверная seed-фраза. Пожалуйста, проверьте порядок слов. Неверная seed-фраза. Пожалуйста, проверьте орфографию. @@ -529,11 +535,14 @@ Подготовьте резервную карту с номером %s Отсканируйте основную карту или кольцо, чтобы начать процесс резервного копирования. Подготовьте основную карту с номером %s - Ваш кошелек настроен и готова к использованию. + Приготовьте кольцо и нажмите кнопку сканирования кольца внизу + Ваш кошелек настроен и готов к использованию. Добавлено максимальное количество устройств. Завершите процесс резервного копирования. Активация кошелька + Резервная карта Резервная карта #%d - Нет резервных карт или колец + Резервное кольцо + Нет резервных устройств Уведомления Добавлено одно резервное устройство Подготовьте свою карту @@ -600,7 +609,7 @@ Сбросить карту Я понимаю, что после выполнения этого действия у меня больше не будет доступа к текущему кошельку Я понимаю, что не смогу этой картой восстановить пароль на остальных картах этого кошелька, если я его забуду - Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты. Вы не сможете восстановить текущий кошелек или использовать данную карту для восстановления кода доступа. + Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты или кольца. Вы не сможете восстановить текущий кошелек или использовать данную карту или кольцо для восстановления кода доступа. Сброс к заводским настройкам приведет к полному удалению кошелька с выбранной карты или кольца. Вы не сможете восстановить текущий кошелек. Владельцам колец — 3 обмена без комиссии на Changelly до 15.11! Обмен с 0%% комиссией! diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index d8a5fd66bd..4abb12f95e 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -116,7 +116,7 @@ Market Slow Speed and fee - Get addresses + Get your addresses Go to provider Go to token hour @@ -135,6 +135,7 @@ Now OK Primary card + Primary ring Passphrase Paste Privacy Policy @@ -309,7 +310,8 @@ This information was generated with AI To change the access code tap the card or ring as shown above and do not remove until the end of the operation To change the passcode tap the card as shown above and do not remove until the end of the operation - To create the wallet tap the card or ring as shown above and do not remove until the end of the operation + To create the wallet tap the card as shown above and do not remove until the end of the operation + To create the wallet tap the ring as shown above and do not remove until the end of the operation Tap the card #%s of the wallet Tap to scan Tap to sign @@ -452,11 +454,11 @@ Pull this up or tap the search bar to add tokens directly from the market Add tokens NFC is not available on your device - You have to set up a single access code to protect all your cards or rings + Set up a single access code to protect all your devices. Protect - You can set up an individual access code on each card or ring later + Set an individual access code for each card or ring later. Personalize - The access code can be restored with a linked card or ring. Don’t keep all at one place. + Restore the access code with a linked card or ring. Don`t keep all your devices in one place. Restore Choose any word, phrase, or number you want as your access code Create Access Code @@ -470,12 +472,14 @@ You\'ve added one backup card or ring. When backup process is finished you can\'t add more backup devices. If you have one more card or ring, add it to backup. Do you like to continue the backup process? The backup process is partly complete. You can\'t exit it now. The passphrase is an advanced security feature that crypto wallets use. It adds an extra word or phrase of your own choosing to your already existing recovery phrase to unlock a brand-new set of addresses. - Add a backup card or ring - Scan the card #%d + Add a card or ring + Scan card + Scan card #%d Backup now - Scan the primary card + Scan card + Scan ring Continue to my wallet - Finalize the backup + Finalize backup Receive crypto Scan primary card Skip for later @@ -484,7 +488,7 @@ Create wallet Create a wallet Other options - Your keys will be securely generated inside the card or ring. There is no seed phrase, which means nobody can export or steal it. + Your keys will be securely generated inside the chip. There is no seed phrase, which means nobody can export or steal it. Generate keys privately Your card is activated and ready to be used Success! @@ -506,7 +510,7 @@ To import your wallet, enter your seed phrase in the field below Generate seed phrase Import wallet - A seed phrase is a series of words that allows you to recover your wallet. Unlike the keys generated by the card, seed phrases are unprotected and can be copied and stolen. Use this option at your own risk. + A seed phrase is a series of words that allows you to recover your wallet. Unlike the keys generated by the card or ring, seed phrases are unprotected and can be copied and stolen. Use this option at your own risk. Use seed phrase Invalid seed phrase. Please check the word order. Invalid seed phrase. Please check your spelling. @@ -518,11 +522,14 @@ Prepare the backup card with number %s Scan the primary card or ring to start the backup process. Prepare the primary card with number %s + Prepare the ring and press the scan button below Your wallet is configured and ready for use. Max number of devices added. Finalize the backup process. Activating wallet + Backup card Backup card #%d - No backup cards or rings + Backup ring + No backup devices Notifications One backup device added Prepare your card @@ -585,7 +592,7 @@ Reset the card I understand that after performing this action, I will no longer have access to the current wallet I realize that I can\'t use this card to recover my access code on the other cards of the current wallet - Factory Reset will completely delete the wallet from the selected card. You will not be able to restore the current wallet or use the card to recover the access code. + Factory Reset will completely delete the wallet from the selected card or ring. You will not be able to restore the current wallet or use the card or ring to recover the access code. Factory Reset will completely delete the wallet from the selected card or ring and remove it from the app. You will not be able to restore the current wallet. Ring owners get 3 commission-free swaps on Changelly until 15.11! Swap With 0%% Fees Now! @@ -678,7 +685,7 @@ Transaction has been successfully signed and sent to the blockchain node. Wallet balance will be updated in a while %1$s is an asset in the Tron network. To calculate the fee and make a transaction you need to deposit some Tron (TRX) in your account. Transaction sent - Prepare to scan card or ring you want to setup. + Prepare to scan card or ring you want to set up. Forget wallet This will remove the wallet from the application. The wallet itself can be added again. Name @@ -841,14 +848,14 @@ You\'ve scanned wrong twin card. Please try another one This one that you are holding in your hands and the other one with number %s.\n\nBoth cards can be used to extract funds from this wallet. One wallet. Two cards. - Scan the card #%s + Scan card #%s Creating wallet Scan the #%s twin card Preparing card Tangem Twin This action is irreversible. You will not have access to the old wallet. Tap the twin card with number %s and do not remove until the end of the operation - Use %s or scan a card/ring to have an access to your wallet + Use %s or scan a card/ring to have access to your wallet Stay up to date with the latest features and news Be the first to know about new promotions Would you like to use\nPush-notifications? @@ -862,7 +869,7 @@ Unlock all Unlock all with %s Blockchain is unreachable. Try later - Scan the card or ring + Scan card or ring Requesting to sign a message.\n\n%s Dapp %1$s, requesting to\nsign BNB transaction.\n\n%2$s Trade order for %1$s\nPrice: %2$s\nAmount to receive: %3$s\nAmount to pay: %4$s @@ -979,7 +986,7 @@ You have an interrupted backup. Do you want to resume? Yes, resume Discard - If you will discard the backup now, then you will have to reset the devices to factory settings to start over again + If you discard the backup now, then you will have to reset the devices to factory settings to start over again Resume backup This is an irreversible action Log in with %s diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 6e38987881..d24b9a04a4 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -91,7 +91,7 @@ markdownComposeView = "0.5.4" # region Tangem tangemBlockchainSdk = "release-app_5.16-813" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "release-app_5.16-388" +tangemCardSdk = "release-app_5.16-389" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem17" #tangemVico = "0.0.1" # Keep it! - used for local builds ^ From bb58d027c6a8865412ef86de74c26117183c89d8 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 7 Oct 2024 15:32:56 +0400 Subject: [PATCH 09/12] Updated on 2026-08-14 --- .../tap/di/domain/SettingsDomainModule.kt | 8 ++ .../local/preferences/PreferencesKeys.kt | 2 + .../components/notifications/Notification.kt | 18 +++- .../notifications/RingPromoNotification.kt | 80 ++++++++++++++++++ .../main/res/drawable/img_card_with_ring.webp | Bin 0 -> 58862 bytes .../data/promo/DefaultPromoRepository.kt | 10 +++ data/settings/build.gradle.kts | 1 + .../DefaultPromoSettingsRepository.kt | 19 +++++ domain/settings/build.gradle.kts | 1 + .../settings/ShouldShowRingPromoUseCase.kt | 14 +++ .../repositories/PromoSettingsRepository.kt | 5 ++ .../analytics/TokenSwapPromoAnalyticsEvent.kt | 1 + .../tokens/repository/PromoRepository.kt | 2 + .../utils/WalletWarningsAnalyticsSender.kt | 4 + .../domain/GetMultiWalletWarningsFactory.kt | 18 ++-- .../wallet/state/model/WalletNotification.kt | 10 +++ .../components/common/WalletNotifications.kt | 4 + .../intents/WalletWarningsClickIntents.kt | 22 ++++- .../drawable/img_ring_promo_background.webp | Bin 0 -> 216684 bytes 19 files changed, 200 insertions(+), 19 deletions(-) create mode 100644 core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt create mode 100644 core/ui/src/main/res/drawable/img_card_with_ring.webp create mode 100644 domain/settings/src/main/java/com/tangem/domain/settings/ShouldShowRingPromoUseCase.kt create mode 100644 features/wallet/impl/src/main/res/drawable/img_ring_promo_background.webp diff --git a/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt b/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt index 1b5860c2c0..1cc943d75b 100644 --- a/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt +++ b/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt @@ -123,6 +123,14 @@ internal object SettingsDomainModule { return ShouldShowSwapPromoWalletUseCase(promoSettingsRepository) } + @Provides + @Singleton + fun provideShouldShowRingPromoUseCase( + promoSettingsRepository: PromoSettingsRepository, + ): ShouldShowRingPromoUseCase { + return ShouldShowRingPromoUseCase(promoSettingsRepository) + } + @Provides @Singleton fun provideShouldShowTravalaPromoWalletUseCase( diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt index d5da6e80f7..10f76c5e66 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt @@ -101,6 +101,8 @@ object PreferencesKeys { val ADDED_WALLETS_WITH_RING_KEY by lazy { stringSetPreferencesKey(name = "addedWalletsWithRing") } + val SHOULD_SHOW_RING_PROMO_KEY by lazy { booleanPreferencesKey(name = "shouldShowRingPromo") } + // region Permission fun getShouldShowPermission(permission: String) = booleanPreferencesKey("shouldShowPushPermission_$permission") diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/Notification.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/Notification.kt index 7a77b4cb67..2ca06231a1 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/Notification.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/Notification.kt @@ -179,8 +179,13 @@ private fun Icon(@DrawableRes iconResId: Int, tint: Color?, modifier: Modifier = } @Composable -private fun TextsBlock(title: TextReference?, subtitle: TextReference, subtitleColor: Color) { - Column { +internal fun TextsBlock( + title: TextReference?, + subtitle: TextReference, + subtitleColor: Color, + modifier: Modifier = Modifier, +) { + Column(modifier = modifier) { val titleText = title?.resolveReference() if (titleText != null) { @@ -269,7 +274,12 @@ private fun PairButtons(config: NotificationButtonsState.PairButtonsConfig, isEn } @Composable -private fun CloseableIconButton(onClick: (() -> Unit)?, modifier: Modifier = Modifier, isEnabled: Boolean = true) { +internal fun CloseableIconButton( + onClick: (() -> Unit)?, + modifier: Modifier = Modifier, + isEnabled: Boolean = true, + iconTint: Color = TangemTheme.colors.icon.inactive, +) { AnimatedVisibility(visible = onClick != null, modifier = modifier) { onClick ?: return@AnimatedVisibility @@ -296,7 +306,7 @@ private fun CloseableIconButton(onClick: (() -> Unit)?, modifier: Modifier = Mod modifier = Modifier .size(size = TangemTheme.dimens.size16) .align(alignment = Alignment.Center), - tint = TangemTheme.colors.icon.inactive, + tint = iconTint, ) } } diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt new file mode 100644 index 0000000000..dbbd0b0740 --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt @@ -0,0 +1,80 @@ +package com.tangem.core.ui.components.notifications + +import androidx.annotation.DrawableRes +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.* +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import com.tangem.core.ui.R +import com.tangem.core.ui.extensions.TextReference +import com.tangem.core.ui.res.TangemTheme + +@Composable +fun RingPromoNotification(config: NotificationConfig, modifier: Modifier = Modifier) { + NotificationBaseContainer( + backgroundResId = requireNotNull(config.backgroundResId), + onCloseClick = config.onCloseClick, + modifier = modifier, + ) { + MainContent(title = config.title, subtitle = config.subtitle) + } +} + +@Composable +private fun NotificationBaseContainer( + @DrawableRes backgroundResId: Int, + onCloseClick: (() -> Unit)?, + modifier: Modifier = Modifier, + content: @Composable BoxScope.() -> Unit, +) { + Box( + modifier = modifier + .requiredHeight(height = 78.dp) + .fillMaxWidth() + .clip(shape = TangemTheme.shapes.roundedCornersXMedium), + ) { + Image( + painter = painterResource(backgroundResId), + contentDescription = null, + contentScale = ContentScale.Crop, + modifier = Modifier.fillMaxSize(), + ) + + content() + + CloseableIconButton( + onClick = onCloseClick, + modifier = Modifier.align(alignment = Alignment.TopEnd), + iconTint = TangemTheme.colors.icon.informative, + ) + } +} + +@Composable +private fun MainContent(title: TextReference?, subtitle: TextReference) { + Box { + Image( + painter = painterResource(id = R.drawable.img_card_with_ring), + contentDescription = null, + alignment = Alignment.TopStart, + contentScale = ContentScale.Crop, + modifier = Modifier + .padding(start = 9.dp, top = 11.dp) + .requiredWidth(width = 60.dp), + ) + + TextsBlock( + title = title, + subtitle = subtitle, + subtitleColor = TangemTheme.colors.text.tertiary, + modifier = Modifier + .align(Alignment.CenterStart) + .padding(start = 80.dp, top = 12.dp, end = 12.dp, bottom = 12.dp), + ) + } +} \ No newline at end of file diff --git a/core/ui/src/main/res/drawable/img_card_with_ring.webp b/core/ui/src/main/res/drawable/img_card_with_ring.webp new file mode 100644 index 0000000000000000000000000000000000000000..c4c80103555fa236ebb5236ad1fb5420a5a50e6a GIT binary patch literal 58862 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 { + return combine( + flow = appPreferencesStore + .get(key = ADDED_WALLETS_WITH_RING_KEY, default = emptySet()) + .map { userWalletId.stringValue in it }, + flow2 = appPreferencesStore.get(key = SHOULD_SHOW_RING_PROMO_KEY, default = true), + transform = { isRingAdded, shouldShowRingPromo -> isRingAdded && shouldShowRingPromo }, + ) + } + + override suspend fun setNeverToShowRingPromo() { + appPreferencesStore.store(key = SHOULD_SHOW_RING_PROMO_KEY, value = false) + } } \ No newline at end of file diff --git a/domain/settings/build.gradle.kts b/domain/settings/build.gradle.kts index 0c8b0de6e1..7b8e6bc2ad 100644 --- a/domain/settings/build.gradle.kts +++ b/domain/settings/build.gradle.kts @@ -7,4 +7,5 @@ dependencies { implementation(deps.kotlin.coroutines) implementation(deps.arrow.core) implementation(projects.domain.balanceHiding.models) + implementation(projects.domain.wallets.models) } \ No newline at end of file diff --git a/domain/settings/src/main/java/com/tangem/domain/settings/ShouldShowRingPromoUseCase.kt b/domain/settings/src/main/java/com/tangem/domain/settings/ShouldShowRingPromoUseCase.kt new file mode 100644 index 0000000000..67d9174e78 --- /dev/null +++ b/domain/settings/src/main/java/com/tangem/domain/settings/ShouldShowRingPromoUseCase.kt @@ -0,0 +1,14 @@ +package com.tangem.domain.settings + +import com.tangem.domain.settings.repositories.PromoSettingsRepository +import com.tangem.domain.wallets.models.UserWalletId +import kotlinx.coroutines.flow.Flow + +class ShouldShowRingPromoUseCase(private val promoSettingsRepository: PromoSettingsRepository) { + + operator fun invoke(userWalletId: UserWalletId): Flow { + return promoSettingsRepository.isReadyToShowRingPromo(userWalletId) + } + + suspend fun neverToShow() = promoSettingsRepository.setNeverToShowRingPromo() +} \ No newline at end of file diff --git a/domain/settings/src/main/java/com/tangem/domain/settings/repositories/PromoSettingsRepository.kt b/domain/settings/src/main/java/com/tangem/domain/settings/repositories/PromoSettingsRepository.kt index 0e3946bb89..758763828a 100644 --- a/domain/settings/src/main/java/com/tangem/domain/settings/repositories/PromoSettingsRepository.kt +++ b/domain/settings/src/main/java/com/tangem/domain/settings/repositories/PromoSettingsRepository.kt @@ -1,5 +1,6 @@ package com.tangem.domain.settings.repositories +import com.tangem.domain.wallets.models.UserWalletId import kotlinx.coroutines.flow.Flow interface PromoSettingsRepository { @@ -14,4 +15,8 @@ interface PromoSettingsRepository { fun isReadyToShowWalletTravalaPromo(): Flow suspend fun setNeverToShowWalletTravalaPromo() + + fun isReadyToShowRingPromo(userWalletId: UserWalletId): Flow + + suspend fun setNeverToShowRingPromo() } \ No newline at end of file diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenSwapPromoAnalyticsEvent.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenSwapPromoAnalyticsEvent.kt index 6e48ed4272..6242d8bbc2 100644 --- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenSwapPromoAnalyticsEvent.kt +++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenSwapPromoAnalyticsEvent.kt @@ -39,5 +39,6 @@ sealed class TokenSwapPromoAnalyticsEvent( enum class ProgramName { Travala, OKX, + Ring, } } \ No newline at end of file diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/PromoRepository.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/PromoRepository.kt index 51ba0a57f9..3cd5eacc17 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/PromoRepository.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/PromoRepository.kt @@ -9,4 +9,6 @@ interface PromoRepository { suspend fun getTravalaPromoBanner(): PromoBanner? suspend fun getOkxPromoBanner(): PromoBanner? + + suspend fun getRingPromoBanner(): PromoBanner? } \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt index 2686a1ec9d..fecbf47463 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt @@ -56,6 +56,10 @@ internal class WalletWarningsAnalyticsSender @Inject constructor( is WalletNotification.Warning.SomeNetworksUnreachable, is WalletNotification.Warning.NetworksUnreachable, -> null + is WalletNotification.RingPromo -> TokenSwapPromoAnalyticsEvent.NoticePromotionBanner( + source = AnalyticsParam.ScreensSources.Main, + programName = TokenSwapPromoAnalyticsEvent.ProgramName.Ring, + ) } } } \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetMultiWalletWarningsFactory.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetMultiWalletWarningsFactory.kt index 031c843c16..5ea90e12d4 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetMultiWalletWarningsFactory.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetMultiWalletWarningsFactory.kt @@ -6,7 +6,7 @@ import com.tangem.domain.core.lce.Lce import com.tangem.domain.demo.IsDemoCardUseCase import com.tangem.domain.promo.PromoBanner import com.tangem.domain.settings.IsReadyToShowRateAppUseCase -import com.tangem.domain.settings.ShouldShowSwapPromoWalletUseCase +import com.tangem.domain.settings.ShouldShowRingPromoUseCase import com.tangem.domain.tokens.GetTokenListUseCase import com.tangem.domain.tokens.error.TokenListError import com.tangem.domain.tokens.model.CryptoCurrency @@ -33,7 +33,7 @@ internal class GetMultiWalletWarningsFactory @Inject constructor( private val getTokenListUseCase: GetTokenListUseCase, private val isDemoCardUseCase: IsDemoCardUseCase, private val isReadyToShowRateAppUseCase: IsReadyToShowRateAppUseCase, - private val shouldShowSwapPromoWalletUseCase: ShouldShowSwapPromoWalletUseCase, + private val shouldShowRingPromoUseCase: ShouldShowRingPromoUseCase, private val promoRepository: PromoRepository, private val isNeedToBackupUseCase: IsNeedToBackupUseCase, private val backupValidator: BackupValidator, @@ -42,16 +42,16 @@ internal class GetMultiWalletWarningsFactory @Inject constructor( fun create(userWallet: UserWallet, clickIntents: WalletClickIntents): Flow> { val cardTypesResolver = userWallet.scanResponse.cardTypesResolver - val promoFlow = flow { emit(promoRepository.getOkxPromoBanner()) } + val promoFlow = flow { emit(promoRepository.getRingPromoBanner()) } return combine( flow = getTokenListUseCase.launch(userWallet.walletId), flow2 = isReadyToShowRateAppUseCase(), flow3 = isNeedToBackupUseCase(userWallet.walletId), - flow4 = shouldShowSwapPromoWalletUseCase(), + flow4 = shouldShowRingPromoUseCase(userWalletId = userWallet.walletId), flow5 = promoFlow, ) { maybeTokenList, isReadyToShowRating, isNeedToBackup, shouldShowPromo, promoBanner -> buildList { - addSwapPromoNotification(shouldShowPromo, promoBanner, clickIntents) + addRingPromoNotification(shouldShowPromo, promoBanner, clickIntents) addCriticalNotifications(userWallet, clickIntents) @@ -70,17 +70,13 @@ internal class GetMultiWalletWarningsFactory @Inject constructor( } } - private fun MutableList.addSwapPromoNotification( + private fun MutableList.addRingPromoNotification( shouldShowPromo: Boolean, promoBanner: PromoBanner?, clickIntents: WalletClickIntents, ) { promoBanner ?: return - val promoNotification = WalletNotification.SwapPromo( - startDateTime = promoBanner.bannerState.timeline.start, - endDateTime = promoBanner.bannerState.timeline.end, - onCloseClick = clickIntents::onCloseSwapPromoClick, - ) + val promoNotification = WalletNotification.RingPromo(onCloseClick = clickIntents::onCloseRingPromoClick) addIf( element = promoNotification, condition = shouldShowPromo && promoBanner.isActive, diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletNotification.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletNotification.kt index c878757dbc..2741cc56ca 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletNotification.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletNotification.kt @@ -194,4 +194,14 @@ sealed class WalletNotification(val config: NotificationConfig) { onCloseClick = onCloseClick, ), ) + + data class RingPromo(val onCloseClick: () -> Unit) : WalletNotification( + config = NotificationConfig( + title = resourceReference(id = R.string.ring_promo_title), + subtitle = resourceReference(id = R.string.ring_promo_text), + iconResId = R.drawable.img_card_with_ring, + backgroundResId = R.drawable.img_ring_promo_background, + onCloseClick = onCloseClick, + ), + ) } \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletNotifications.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletNotifications.kt index b27ba3f5e5..39dbbb2618 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletNotifications.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletNotifications.kt @@ -6,6 +6,7 @@ import androidx.compose.foundation.lazy.items import androidx.compose.ui.Modifier import com.tangem.core.ui.components.notifications.Notification import com.tangem.core.ui.components.notifications.OkxPromoNotification +import com.tangem.core.ui.components.notifications.RingPromoNotification import com.tangem.core.ui.res.TangemTheme import com.tangem.feature.wallet.presentation.wallet.state.model.WalletNotification import kotlinx.collections.immutable.ImmutableList @@ -33,6 +34,9 @@ internal fun LazyListScope.notifications(configs: ImmutableList { + RingPromoNotification(config = it.config, modifier = modifier.animateItemPlacement()) + } else -> { Notification( config = it.config, diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletWarningsClickIntents.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletWarningsClickIntents.kt index 6798d988ff..385874122d 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletWarningsClickIntents.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletWarningsClickIntents.kt @@ -8,10 +8,7 @@ import com.tangem.domain.card.DerivePublicKeysUseCase import com.tangem.domain.card.SetCardWasScannedUseCase import com.tangem.domain.redux.LegacyAction import com.tangem.domain.redux.ReduxStateHolder -import com.tangem.domain.settings.NeverToSuggestRateAppUseCase -import com.tangem.domain.settings.RemindToRateAppLaterUseCase -import com.tangem.domain.settings.ShouldShowSwapPromoWalletUseCase -import com.tangem.domain.settings.ShouldShowTravalaPromoWalletUseCase +import com.tangem.domain.settings.* import com.tangem.domain.tokens.FetchTokenListUseCase import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.tokens.model.analytics.TokenSwapPromoAnalyticsEvent @@ -59,6 +56,8 @@ internal interface WalletWarningsClickIntents { fun onCloseSwapPromoClick() + fun onCloseRingPromoClick() + fun onTravalaPromoClick(link: String?) fun onCloseTravalaPromoClick() @@ -83,6 +82,7 @@ internal class WalletWarningsClickIntentsImplementor @Inject constructor( private val reduxStateHolder: ReduxStateHolder, private val dispatchers: CoroutineDispatcherProvider, private val shouldShowSwapPromoWalletUseCase: ShouldShowSwapPromoWalletUseCase, + private val shouldShowRingPromoUseCase: ShouldShowRingPromoUseCase, private val shouldShowTravalaPromoWalletUseCase: ShouldShowTravalaPromoWalletUseCase, ) : BaseWalletClickIntents(), WalletWarningsClickIntents { @@ -239,6 +239,20 @@ internal class WalletWarningsClickIntentsImplementor @Inject constructor( } } + override fun onCloseRingPromoClick() { + analyticsEventHandler.send( + TokenSwapPromoAnalyticsEvent.PromotionBannerClicked( + source = AnalyticsParam.ScreensSources.Main, + programName = TokenSwapPromoAnalyticsEvent.ProgramName.Ring, + action = TokenSwapPromoAnalyticsEvent.PromotionBannerClicked.BannerAction.Closed, + ), + ) + + viewModelScope.launch { + shouldShowRingPromoUseCase.neverToShow() + } + } + override fun onTravalaPromoClick(link: String?) { analyticsEventHandler.send( TokenSwapPromoAnalyticsEvent.PromotionBannerClicked( diff --git a/features/wallet/impl/src/main/res/drawable/img_ring_promo_background.webp b/features/wallet/impl/src/main/res/drawable/img_ring_promo_background.webp new file mode 100644 index 0000000000000000000000000000000000000000..c427a78985dadbb6416e5ca0e2831e13381f27ca GIT binary patch literal 216684 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∾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

Y1_g+}M76qXXMtGJ0YJ#SnP)A+30PP_@ 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 XUnrlv#gmu(&Ax|uqW>@dEMIQ`>M8oR literal 0 HcmV?d00001 From 0a4235ee0a2d89b04f3e9ddf55b794fea1728a3c Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 9 Oct 2024 14:53:35 +0400 Subject: [PATCH 10/12] Updated on 2026-08-14 --- .../com/tangem/tap/ApplicationEntryPoint.kt | 3 ++ .../java/com/tangem/tap/TangemApplication.kt | 29 +++++++++++++++++++ .../DefaultTransactionSignerFactory.kt | 22 ++++++++++++++ .../tap/common/redux/global/GlobalAction.kt | 2 ++ .../tap/common/redux/global/GlobalReducer.kt | 1 + .../tap/common/redux/global/GlobalState.kt | 1 + .../TransactionSignerFactoryModule.kt | 23 +++++++++++++++ .../com/tangem/tap/domain/TangemSigner.kt | 16 +++++----- .../tangem/tap/domain/tasks/SignHashesTask.kt | 9 ++++-- .../walletconnect/WalletConnectSdkHelper.kt | 6 ++-- .../wallet/ui/OnboardingWalletFragment.kt | 7 +---- .../CurrencyExchangeManager.kt | 6 +++- .../tap/proxy/redux/DaggerGraphState.kt | 2 ++ .../core/analytics/models/AnalyticsParam.kt | 1 + .../com/tangem/core/analytics/models/Basic.kt | 4 +++ data/card/build.gradle.kts | 2 ++ .../card/DefaultCardSdkConfigRepository.kt | 16 +++++----- .../com/tangem/data/card/di/CardDataModule.kt | 11 +++++-- .../DefaultTransactionRepository.kt | 4 +-- .../repository/CardSdkConfigRepository.kt | 4 +-- .../DefaultWalletManagersFacade.kt | 2 +- .../walletmanager/WalletManagersFacade.kt | 2 +- .../com/tangem/domain/models/scan/RingExt.kt | 8 +++++ .../transaction/TransactionRepository.kt | 6 ++-- .../signer/TransactionSignerFactory.kt | 12 ++++++++ 25 files changed, 160 insertions(+), 39 deletions(-) create mode 100644 app/src/main/java/com/tangem/tap/common/libs/blockchainsdk/DefaultTransactionSignerFactory.kt create mode 100644 app/src/main/java/com/tangem/tap/di/libs/blockchainsdk/TransactionSignerFactoryModule.kt create mode 100644 domain/models/src/main/kotlin/com/tangem/domain/models/scan/RingExt.kt create mode 100644 libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/signer/TransactionSignerFactory.kt diff --git a/app/src/main/java/com/tangem/tap/ApplicationEntryPoint.kt b/app/src/main/java/com/tangem/tap/ApplicationEntryPoint.kt index 21ab576e7f..472b865f49 100644 --- a/app/src/main/java/com/tangem/tap/ApplicationEntryPoint.kt +++ b/app/src/main/java/com/tangem/tap/ApplicationEntryPoint.kt @@ -2,6 +2,7 @@ package com.tangem.tap import com.tangem.TangemSdkLogger import com.tangem.blockchainsdk.BlockchainSDKFactory +import com.tangem.blockchainsdk.signer.TransactionSignerFactory import com.tangem.common.routing.AppRouter import com.tangem.core.analytics.filter.OneTimeEventFilter import com.tangem.core.featuretoggle.manager.FeatureTogglesManager @@ -119,4 +120,6 @@ interface ApplicationEntryPoint { fun getPushNotificationsFeatureToggles(): PushNotificationsFeatureToggles fun getTangemAppLogger(): TangemAppLoggerInitializer + + fun getTransactionSignerFactory(): TransactionSignerFactory } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/TangemApplication.kt b/app/src/main/java/com/tangem/tap/TangemApplication.kt index ef8490029a..6b8016f11f 100644 --- a/app/src/main/java/com/tangem/tap/TangemApplication.kt +++ b/app/src/main/java/com/tangem/tap/TangemApplication.kt @@ -11,9 +11,15 @@ import com.tangem.LogFormat import com.tangem.TangemSdkLogger import com.tangem.blockchain.network.BlockchainSdkRetrofitBuilder import com.tangem.blockchainsdk.BlockchainSDKFactory +import com.tangem.blockchainsdk.signer.TransactionSignerFactory import com.tangem.common.routing.AppRouter import com.tangem.core.analytics.Analytics +import com.tangem.core.analytics.api.ParamsInterceptor import com.tangem.core.analytics.filter.OneTimeEventFilter +import com.tangem.core.analytics.models.AnalyticsEvent +import com.tangem.core.analytics.models.AnalyticsParam +import com.tangem.core.analytics.models.Basic +import com.tangem.core.analytics.models.Basic.TransactionSent.WalletForm import com.tangem.core.featuretoggle.manager.FeatureTogglesManager import com.tangem.datasource.api.common.MoshiConverter import com.tangem.datasource.api.common.createNetworkLoggingInterceptor @@ -191,6 +197,9 @@ abstract class TangemApplication : Application(), ImageLoaderFactory { private val tangemAppLoggerInitializer: TangemAppLoggerInitializer get() = entryPoint.getTangemAppLogger() + + private val transactionSignerFactory: TransactionSignerFactory + get() = entryPoint.getTransactionSignerFactory() // endregion override fun onCreate() { @@ -273,6 +282,7 @@ abstract class TangemApplication : Application(), ImageLoaderFactory { shareManager = shareManager, appRouter = appRouter, pushNotificationsFeatureToggles = pushNotificationsFeatureToggles, + transactionSignerFactory = transactionSignerFactory, ), ), ) @@ -315,6 +325,25 @@ abstract class TangemApplication : Application(), ImageLoaderFactory { logConfig = LogConfig.analyticsHandlers, jsonConverter = MoshiConverter.sdkMoshiConverter, ) + + Analytics.addParamsInterceptor( + interceptor = object : ParamsInterceptor { + override fun id(): String = "SendTransactionSignerInfoInterceptor" + + override fun canBeAppliedTo(event: AnalyticsEvent): Boolean = event is Basic.TransactionSent + + override fun intercept(params: MutableMap) { + val isLastSignWithRing = store.state.globalState.isLastSignWithRing + + params[AnalyticsParam.WALLET_FORM] = if (isLastSignWithRing) { + WalletForm.Ring.name + } else { + WalletForm.Card.name + } + } + }, + ) + factory.build(Analytics, buildData) // ExceptionHandler.append(blockchainExceptionHandler) TODO: [REDACTED_JIRA] } diff --git a/app/src/main/java/com/tangem/tap/common/libs/blockchainsdk/DefaultTransactionSignerFactory.kt b/app/src/main/java/com/tangem/tap/common/libs/blockchainsdk/DefaultTransactionSignerFactory.kt new file mode 100644 index 0000000000..edd0ded835 --- /dev/null +++ b/app/src/main/java/com/tangem/tap/common/libs/blockchainsdk/DefaultTransactionSignerFactory.kt @@ -0,0 +1,22 @@ +package com.tangem.tap.common.libs.blockchainsdk + +import com.tangem.Message +import com.tangem.TangemSdk +import com.tangem.blockchain.common.TransactionSigner +import com.tangem.blockchainsdk.signer.TransactionSignerFactory +import com.tangem.tap.common.redux.global.GlobalAction +import com.tangem.tap.domain.TangemSigner +import com.tangem.tap.store + +internal class DefaultTransactionSignerFactory : TransactionSignerFactory { + + override fun createTransactionSigner(cardId: String?, sdk: TangemSdk): TransactionSigner { + return TangemSigner( + cardId = cardId, + tangemSdk = sdk, + initialMessage = Message(), + ) { signResponse -> + store.dispatch(action = GlobalAction.IsSignWithRing(signResponse.isRing)) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt index 2b9e953b46..909760ca25 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt @@ -69,6 +69,8 @@ sealed class GlobalAction : Action { val walletPublicKey: ByteArray, ) : GlobalAction() + data class IsSignWithRing(val isSignWithRing: Boolean) : GlobalAction() + data class SetConfigManager(val configManager: ConfigManager) : GlobalAction() data class SetFeedbackManager(val feedbackManager: LegacyFeedbackManager) : GlobalAction() diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt index 6b011082d2..4d66eb4670 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt @@ -71,6 +71,7 @@ fun globalReducer(action: Action, state: AppState, appStateHolder: AppStateHolde ) globalState.copy(scanResponse = globalState.scanResponse.copy(card = newCardInstance)) } + is GlobalAction.IsSignWithRing -> globalState.copy(isLastSignWithRing = action.isSignWithRing) is GlobalAction.SetFeedbackManager -> { globalState.copy(feedbackManager = action.feedbackManager) } diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt index 420951087b..48f7bce192 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt @@ -25,6 +25,7 @@ data class GlobalState( val exchangeManager: CurrencyExchangeManager = CurrencyExchangeManager.dummy(), val userCountryCode: String? = null, val appThemeMode: AppThemeMode = AppThemeMode.DEFAULT, + val isLastSignWithRing: Boolean = false, ) : StateType typealias CryptoCurrencyName = String diff --git a/app/src/main/java/com/tangem/tap/di/libs/blockchainsdk/TransactionSignerFactoryModule.kt b/app/src/main/java/com/tangem/tap/di/libs/blockchainsdk/TransactionSignerFactoryModule.kt new file mode 100644 index 0000000000..36bc5ce13a --- /dev/null +++ b/app/src/main/java/com/tangem/tap/di/libs/blockchainsdk/TransactionSignerFactoryModule.kt @@ -0,0 +1,23 @@ +package com.tangem.tap.di.libs.blockchainsdk + +import com.tangem.blockchainsdk.signer.TransactionSignerFactory +import com.tangem.tap.common.libs.blockchainsdk.DefaultTransactionSignerFactory +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +/** +[REDACTED_AUTHOR] + */ +@Module +@InstallIn(SingletonComponent::class) +internal class TransactionSignerFactoryModule { + + @Provides + @Singleton + fun provideTransactionSignerFactory(): TransactionSignerFactory { + return DefaultTransactionSignerFactory() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/TangemSigner.kt b/app/src/main/java/com/tangem/tap/domain/TangemSigner.kt index f316b2e433..f53d9d0736 100644 --- a/app/src/main/java/com/tangem/tap/domain/TangemSigner.kt +++ b/app/src/main/java/com/tangem/tap/domain/TangemSigner.kt @@ -5,17 +5,15 @@ import com.tangem.TangemSdk import com.tangem.blockchain.common.TransactionSigner import com.tangem.blockchain.common.Wallet import com.tangem.common.CompletionResult -import com.tangem.domain.common.TapWorkarounds.isTangemTwins -import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.isRing import com.tangem.tap.domain.tasks.SignHashesTask import kotlinx.coroutines.suspendCancellableCoroutine import kotlin.coroutines.resume class TangemSigner( - private val card: CardDTO, + private val cardId: String?, private val tangemSdk: TangemSdk, private val initialMessage: Message, - private val accessCode: String? = null, private val signerCallback: (TangemSignerResponse) -> Unit, ) : TransactionSigner { @@ -24,21 +22,20 @@ class TangemSigner( publicKey: Wallet.PublicKey, ): CompletionResult> { return suspendCancellableCoroutine { continuation -> - val isCardNotBackedUp = card.backupStatus?.isActive != true && !card.isTangemTwins val task = SignHashesTask(hashes, publicKey) tangemSdk.startSessionWithRunnable( runnable = task, - cardId = card.cardId.takeIf { isCardNotBackedUp }, + cardId = cardId, initialMessage = initialMessage, - accessCode = accessCode, ) { result -> when (result) { is CompletionResult.Success -> { signerCallback( TangemSignerResponse( - result.data.totalSignedHashes, - result.data.remainingSignatures, + totalSignedHashes = result.data.totalSignedHashes, + remainingSignatures = result.data.remainingSignatures, + isRing = result.data.batchId?.let(::isRing) ?: false, ), ) if (continuation.isActive) { @@ -70,4 +67,5 @@ class TangemSigner( data class TangemSignerResponse( val totalSignedHashes: Int?, val remainingSignatures: Int?, + val isRing: Boolean, ) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/SignHashesTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/SignHashesTask.kt index 3a8a5bd48c..e5616aacd7 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/SignHashesTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/SignHashesTask.kt @@ -12,6 +12,7 @@ class TangemSignHashesResponse( val signatures: List, val totalSignedHashes: Int?, val remainingSignatures: Int?, + val batchId: String?, ) : CommandResponse class SignHashesTask( @@ -22,12 +23,14 @@ class SignHashesTask( SignHashesCommand(hashes.toTypedArray(), publicKey.seedKey, publicKey.derivationPath).run(session) { response -> when (response) { is CompletionResult.Success -> { + val card = session.environment.card callback( CompletionResult.Success( TangemSignHashesResponse( - response.data.signatures, - response.data.totalSignedHashes, - session.environment.card?.wallet(publicKey.seedKey)?.remainingSignatures, + signatures = response.data.signatures, + totalSignedHashes = response.data.totalSignedHashes, + remainingSignatures = card?.wallet(publicKey.seedKey)?.remainingSignatures, + batchId = card?.batchId, ), ), ) diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectSdkHelper.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectSdkHelper.kt index 8c78ffa3a5..a553b5540b 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectSdkHelper.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectSdkHelper.kt @@ -211,11 +211,13 @@ class WalletConnectSdkHelper { } private suspend fun sendTransaction(data: WcTransactionData, cardId: String?): String? { + val sdk = store.inject(DaggerGraphState::cardSdkConfigRepository).sdk + val result = (data.walletManager as TransactionSender).send( transactionData = data.transaction, - signer = CommonSigner( - tangemSdk = store.inject(DaggerGraphState::cardSdkConfigRepository).sdk, + signer = store.inject(DaggerGraphState::transactionSignerFactory).createTransactionSigner( cardId = cardId, + sdk = sdk, ), ) return when (result) { diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt index bbeb4fbe22..e9d9fd0fe4 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt @@ -28,8 +28,7 @@ import com.tangem.core.analytics.models.Basic import com.tangem.core.ui.extensions.setStatusBarColor import com.tangem.datasource.utils.isNullOrEmpty import com.tangem.domain.common.util.cardTypesResolver -import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_IDS -import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_PREFIX +import com.tangem.domain.models.scan.isRing import com.tangem.feature.onboarding.data.model.CreateWalletResponse import com.tangem.feature.onboarding.presentation.wallet2.analytics.SeedPhraseSource import com.tangem.feature.onboarding.presentation.wallet2.viewmodel.SeedPhraseMediator @@ -590,8 +589,4 @@ class OnboardingWalletFragment : } } } - - private fun isRing(batchId: String): Boolean { - return RING_BATCH_IDS.contains(batchId) || batchId.startsWith(RING_BATCH_PREFIX) - } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt index fb01befe82..2008fae3cc 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt @@ -7,6 +7,7 @@ import com.tangem.blockchain.common.AmountType import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.transaction.TransactionFee import com.tangem.blockchain.extensions.Result +import com.tangem.domain.common.TapWorkarounds.isTangemTwins import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.tokens.model.CryptoCurrency @@ -105,8 +106,9 @@ suspend fun buyErc20TestnetTokens(card: CardDTO, walletManager: EthereumWalletMa val coinValue = walletManager.wallet.amounts[AmountType.Coin]?.value ?: BigDecimal.ZERO if (coinValue < fee.amount.value) return + val isCardNotBackedUp = card.backupStatus?.isActive != true && !card.isTangemTwins val signer = TangemSigner( - card = card, + cardId = card.cardId.takeIf { isCardNotBackedUp }, tangemSdk = store.inject(DaggerGraphState::cardSdkConfigRepository).sdk, initialMessage = Message(), ) { signResponse -> @@ -117,6 +119,8 @@ suspend fun buyErc20TestnetTokens(card: CardDTO, walletManager: EthereumWalletMa remainingSignatures = signResponse.remainingSignatures, ), ) + + store.dispatch(action = GlobalAction.IsSignWithRing(signResponse.isRing)) } walletManager.send( diff --git a/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphState.kt b/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphState.kt index 45b2035717..b9501c2a0e 100644 --- a/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphState.kt +++ b/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphState.kt @@ -2,6 +2,7 @@ package com.tangem.tap.proxy.redux import com.tangem.TangemSdkLogger import com.tangem.blockchainsdk.BlockchainSDKFactory +import com.tangem.blockchainsdk.signer.TransactionSignerFactory import com.tangem.common.routing.AppRouter import com.tangem.core.navigation.email.EmailSender import com.tangem.core.navigation.share.ShareManager @@ -87,4 +88,5 @@ data class DaggerGraphState( val appRouter: AppRouter? = null, val pushNotificationsFeatureToggles: PushNotificationsFeatureToggles? = null, val pushNotificationsRouter: PushNotificationsRouter? = null, + val transactionSignerFactory: TransactionSignerFactory? = null, ) : StateType \ No newline at end of file diff --git a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AnalyticsParam.kt b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AnalyticsParam.kt index 5fc6c4e12c..94637867c0 100644 --- a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AnalyticsParam.kt +++ b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AnalyticsParam.kt @@ -170,6 +170,7 @@ sealed class AnalyticsParam { const val BATCH = "Batch" const val TYPE = "Type" const val FEE_TYPE = "Fee Type" + const val WALLET_FORM = "WalletForm" const val PERMISSION_TYPE = "Permission Type" const val PRODUCT_TYPE = "Product Type" const val FIRMWARE = "Firmware" diff --git a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/Basic.kt b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/Basic.kt index 6fb52dfe29..3c1d48f13b 100644 --- a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/Basic.kt +++ b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/Basic.kt @@ -67,6 +67,10 @@ sealed class Basic( enum class MemoType { Empty, Full, Null } + + enum class WalletForm { + Card, Ring + } } class ScanError(error: Throwable) : Basic( diff --git a/data/card/build.gradle.kts b/data/card/build.gradle.kts index eb8abfb89e..eb80b3d8cf 100644 --- a/data/card/build.gradle.kts +++ b/data/card/build.gradle.kts @@ -26,6 +26,8 @@ dependencies { implementation(projects.core.datasource) implementation(projects.core.utils) + implementation(projects.libs.blockchainSdk) + implementation(projects.domain.card) implementation(projects.domain.models) } \ No newline at end of file diff --git a/data/card/src/main/java/com/tangem/data/card/DefaultCardSdkConfigRepository.kt b/data/card/src/main/java/com/tangem/data/card/DefaultCardSdkConfigRepository.kt index 7e629bb338..1dd6e7c245 100644 --- a/data/card/src/main/java/com/tangem/data/card/DefaultCardSdkConfigRepository.kt +++ b/data/card/src/main/java/com/tangem/data/card/DefaultCardSdkConfigRepository.kt @@ -1,7 +1,8 @@ package com.tangem.data.card import com.tangem.TangemSdk -import com.tangem.blockchain.common.CommonSigner +import com.tangem.blockchain.common.TransactionSigner +import com.tangem.blockchainsdk.signer.TransactionSignerFactory import com.tangem.common.UserCodeType import com.tangem.common.core.CardIdDisplayFormat import com.tangem.common.core.UserCodeRequestPolicy @@ -16,7 +17,10 @@ import com.tangem.domain.models.scan.ProductType * [REDACTED_AUTHOR] */ -internal class DefaultCardSdkConfigRepository(private val cardSdkProvider: CardSdkProvider) : CardSdkConfigRepository { +internal class DefaultCardSdkConfigRepository( + private val cardSdkProvider: CardSdkProvider, + private val transactionSignerFactory: TransactionSignerFactory, +) : CardSdkConfigRepository { @Deprecated("Use CardSdkConfigRepository's methods instead of this property") override val sdk: TangemSdk @@ -53,11 +57,9 @@ internal class DefaultCardSdkConfigRepository(private val cardSdkProvider: CardS } } - override fun getCommonSigner(cardId: String?) = CommonSigner( - tangemSdk = sdk, - cardId = cardId, - initialMessage = null, - ) + override fun getCommonSigner(cardId: String?): TransactionSigner { + return transactionSignerFactory.createTransactionSigner(cardId = cardId, sdk = sdk) + } override fun isLinkedTerminal() = sdk.config.linkedTerminal diff --git a/data/card/src/main/java/com/tangem/data/card/di/CardDataModule.kt b/data/card/src/main/java/com/tangem/data/card/di/CardDataModule.kt index eb53f5dea1..cfdd7984b5 100644 --- a/data/card/src/main/java/com/tangem/data/card/di/CardDataModule.kt +++ b/data/card/src/main/java/com/tangem/data/card/di/CardDataModule.kt @@ -1,5 +1,6 @@ package com.tangem.data.card.di +import com.tangem.blockchainsdk.signer.TransactionSignerFactory import com.tangem.data.card.DefaultCardRepository import com.tangem.data.card.DefaultCardSdkConfigRepository import com.tangem.data.card.sdk.CardSdkProvider @@ -18,8 +19,14 @@ internal object CardDataModule { @Provides @Singleton - fun provideCardSdkConfigRepository(cardSdkProvider: CardSdkProvider): CardSdkConfigRepository { - return DefaultCardSdkConfigRepository(cardSdkProvider = cardSdkProvider) + fun provideCardSdkConfigRepository( + cardSdkProvider: CardSdkProvider, + transactionSignerFactory: TransactionSignerFactory, + ): CardSdkConfigRepository { + return DefaultCardSdkConfigRepository( + cardSdkProvider = cardSdkProvider, + transactionSignerFactory = transactionSignerFactory, + ) } @Provides diff --git a/data/transaction/src/main/java/com/tangem/data/transaction/DefaultTransactionRepository.kt b/data/transaction/src/main/java/com/tangem/data/transaction/DefaultTransactionRepository.kt index b18a5b0fa4..8a4472cf71 100644 --- a/data/transaction/src/main/java/com/tangem/data/transaction/DefaultTransactionRepository.kt +++ b/data/transaction/src/main/java/com/tangem/data/transaction/DefaultTransactionRepository.kt @@ -146,7 +146,7 @@ internal class DefaultTransactionRepository( override suspend fun sendTransaction( txData: TransactionData, - signer: CommonSigner, + signer: TransactionSigner, userWalletId: UserWalletId, network: Network, ) = withContext(coroutineDispatcherProvider.io) { @@ -161,7 +161,7 @@ internal class DefaultTransactionRepository( override suspend fun sendMultipleTransactions( txsData: List, - signer: CommonSigner, + signer: TransactionSigner, userWalletId: UserWalletId, network: Network, ) = withContext(coroutineDispatcherProvider.io) { diff --git a/domain/card/src/main/kotlin/com/tangem/domain/card/repository/CardSdkConfigRepository.kt b/domain/card/src/main/kotlin/com/tangem/domain/card/repository/CardSdkConfigRepository.kt index 98b2739bec..4803d9bff3 100644 --- a/domain/card/src/main/kotlin/com/tangem/domain/card/repository/CardSdkConfigRepository.kt +++ b/domain/card/src/main/kotlin/com/tangem/domain/card/repository/CardSdkConfigRepository.kt @@ -1,7 +1,7 @@ package com.tangem.domain.card.repository import com.tangem.TangemSdk -import com.tangem.blockchain.common.CommonSigner +import com.tangem.blockchain.common.TransactionSigner import com.tangem.domain.models.scan.ProductType /** @@ -28,7 +28,7 @@ interface CardSdkConfigRepository { fun updateCardIdDisplayFormat(productType: ProductType) /** Get common signer by [cardId] */ - fun getCommonSigner(cardId: String?): CommonSigner + fun getCommonSigner(cardId: String?): TransactionSigner /** Check if linked terminal is enabled */ fun isLinkedTerminal(): Boolean? diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt index 6d6c0b3a4b..5a531976c7 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt @@ -614,7 +614,7 @@ class DefaultWalletManagersFacade( override suspend fun associateAsset( userWalletId: UserWalletId, currency: CryptoCurrency, - signer: CommonSigner, + signer: TransactionSigner, ): SimpleResult { return withContext(dispatchers.io) { val walletManager = getOrCreateWalletManager(userWalletId = userWalletId, network = currency.network) diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/WalletManagersFacade.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/WalletManagersFacade.kt index 5104db3554..2f6317a316 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/WalletManagersFacade.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/WalletManagersFacade.kt @@ -236,7 +236,7 @@ interface WalletManagersFacade { suspend fun associateAsset( userWalletId: UserWalletId, currency: CryptoCurrency, - signer: CommonSigner, + signer: TransactionSigner, ): SimpleResult /** diff --git a/domain/models/src/main/kotlin/com/tangem/domain/models/scan/RingExt.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/RingExt.kt new file mode 100644 index 0000000000..d2ce46707e --- /dev/null +++ b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/RingExt.kt @@ -0,0 +1,8 @@ +package com.tangem.domain.models.scan + +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_IDS +import com.tangem.domain.models.scan.CardDTO.Companion.RING_BATCH_PREFIX + +fun isRing(batchId: String): Boolean { + return RING_BATCH_IDS.contains(batchId) || batchId.startsWith(RING_BATCH_PREFIX) +} \ No newline at end of file diff --git a/domain/transaction/src/main/java/com/tangem/domain/transaction/TransactionRepository.kt b/domain/transaction/src/main/java/com/tangem/domain/transaction/TransactionRepository.kt index 247f3c7605..975bac4246 100644 --- a/domain/transaction/src/main/java/com/tangem/domain/transaction/TransactionRepository.kt +++ b/domain/transaction/src/main/java/com/tangem/domain/transaction/TransactionRepository.kt @@ -1,9 +1,9 @@ package com.tangem.domain.transaction import com.tangem.blockchain.common.Amount -import com.tangem.blockchain.common.CommonSigner import com.tangem.blockchain.common.TransactionData import com.tangem.blockchain.common.TransactionExtras +import com.tangem.blockchain.common.TransactionSigner import com.tangem.blockchain.common.transaction.Fee import com.tangem.blockchain.common.transaction.TransactionSendResult import com.tangem.blockchain.common.transaction.TransactionsSendResult @@ -54,14 +54,14 @@ interface TransactionRepository { suspend fun sendTransaction( txData: TransactionData, - signer: CommonSigner, + signer: TransactionSigner, userWalletId: UserWalletId, network: Network, ): com.tangem.blockchain.extensions.Result suspend fun sendMultipleTransactions( txsData: List, - signer: CommonSigner, + signer: TransactionSigner, userWalletId: UserWalletId, network: Network, ): com.tangem.blockchain.extensions.Result diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/signer/TransactionSignerFactory.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/signer/TransactionSignerFactory.kt new file mode 100644 index 0000000000..da53a4d024 --- /dev/null +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/signer/TransactionSignerFactory.kt @@ -0,0 +1,12 @@ +package com.tangem.blockchainsdk.signer + +import com.tangem.TangemSdk +import com.tangem.blockchain.common.TransactionSigner + +/** +[REDACTED_AUTHOR] + */ +interface TransactionSignerFactory { + + fun createTransactionSigner(cardId: String?, sdk: TangemSdk): TransactionSigner +} \ No newline at end of file From 29de9c017d4e1b44646d43478089aaf0f4bd734c Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 9 Oct 2024 09:41:35 +0400 Subject: [PATCH 11/12] Updated on 2026-08-14 --- .../wallet/redux/OnboardingWalletMiddleware.kt | 14 +++++++++----- .../wallet/redux/OnboardingWalletReducer.kt | 18 +++++++++++++++--- .../wallet/redux/OnboardingWalletState.kt | 3 ++- .../wallet/ui/OnboardingWalletFragment.kt | 3 ++- core/res/src/main/res/values-fr/strings.xml | 2 +- core/res/src/main/res/values-ru/strings.xml | 6 +++--- core/res/src/main/res/values/strings.xml | 6 +++--- gradle/dependencies.toml | 2 +- 8 files changed, 36 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt index 8dabd175b0..21feb2beda 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt @@ -183,11 +183,14 @@ private fun handleWalletAction(action: Action) { BackupService.State.FinalizingPrimaryCard -> BackupAction.PrepareToWritePrimaryCard is BackupService.State.FinalizingBackupCard -> BackupAction.PrepareToWriteBackupCard(backupState.index) else -> { - if (onboardingWalletState.backupState.backupStep == BackupStep.InitBackup || + if (onboardingWalletState.backupState.backupStep == null || + onboardingWalletState.backupState.backupStep == BackupStep.InitBackup || onboardingWalletState.backupState.backupStep == BackupStep.Finished ) { Analytics.send(Onboarding.Backup.ScreenOpened()) - BackupAction.IntroduceBackup + + val isWallet2 = scanResponse?.cardTypesResolver?.isWallet2() ?: false + if (isWallet2) BackupAction.StartBackup else BackupAction.IntroduceBackup } else { null } @@ -520,8 +523,8 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) } is CompletionResult.Failure -> Unit } + tangemSdkManager.clearProductType() } - tangemSdkManager.clearProductType() } is BackupAction.WriteBackupCard -> { val cardIndex = if (action.cardNumber > 0) action.cardNumber - 1 else action.cardNumber @@ -557,8 +560,9 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) } } } + + tangemSdkManager.clearProductType() } - tangemSdkManager.clearProductType() } is BackupAction.DiscardBackup -> { backupService.discardSavedBackup() @@ -679,7 +683,7 @@ internal fun gatherCardIds(backupState: BackupState, card: CardDTO?): List { showInterruptOnboardingDialog() diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index c7cb0ecd1e..65f998acf3 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -80,7 +80,7 @@ private object OnboardingWallet2Reducer { } private object BackupReducer { - @Suppress("ComplexMethod") + @Suppress("ComplexMethod", "LongMethod") fun reduce(action: BackupAction, state: BackupState): BackupState { return when (action) { is BackupAction.IntroduceBackup -> BackupState( @@ -88,8 +88,20 @@ private object BackupReducer { maxBackupCards = 2, canSkipBackup = state.canSkipBackup, ) - BackupAction.StartAddingPrimaryCard -> state.copy(backupStep = BackupStep.ScanOriginCard) - BackupAction.StartAddingBackupCards -> state.copy(backupStep = BackupStep.AddBackupCards) + BackupAction.StartAddingPrimaryCard -> { + state.copy( + backupStep = BackupStep.ScanOriginCard, + maxBackupCards = 2, + canSkipBackup = state.canSkipBackup, + ) + } + BackupAction.StartAddingBackupCards -> { + state.copy( + backupStep = BackupStep.AddBackupCards, + maxBackupCards = 2, + canSkipBackup = state.canSkipBackup, + ) + } is BackupAction.AddBackupCard.Success -> { state.copy( backupCards = state.backupCards + action.card, diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt index 214dafe1b0..6f140911e6 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt @@ -29,6 +29,7 @@ data class OnboardingWalletState( OnboardingWalletStep.CreateWallet -> 1 OnboardingWalletStep.Backup -> { when (backupState.backupStep) { + null -> 2 BackupStep.InitBackup -> 2 BackupStep.ScanOriginCard -> 3 BackupStep.AddBackupCards -> 4 @@ -74,7 +75,7 @@ data class BackupState( val backupCardsArtworks: Map = emptyMap(), val accessCode: String = "", val accessCodeError: AccessCodeError? = null, - val backupStep: BackupStep = BackupStep.InitBackup, + val backupStep: BackupStep? = null, val maxBackupCards: Int = 2, val canSkipBackup: Boolean = true, val isInterruptedBackup: Boolean = false, diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt index e9d9fd0fe4..e7c4765a87 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt @@ -249,6 +249,7 @@ class OnboardingWalletFragment : private fun setBackupState(state: BackupState) { when (state.backupStep) { + null -> Unit BackupStep.InitBackup -> showBackupIntro(state) BackupStep.ScanOriginCard -> showScanOriginCard() BackupStep.AddBackupCards -> showAddBackupCards(state) @@ -453,7 +454,7 @@ class OnboardingWalletFragment : } else { val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) getString( - R.string.onboarding_subtitle_scan_primary_card_format, + R.string.onboarding_subtitle_scan_backup_card_format, state.primaryCardId?.let { cardIdFormatter.getFormattedCardId(it) }, ) } diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index 7cf0fda106..e57b8a91b3 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -565,7 +565,7 @@ Je comprends que je ne peux pas utiliser cette carte pour récupérer mon code d\'accès sur les autres cartes du portefeuille actuel La réinitialisation aux paramètres d\'usine supprimera complètement le portefeuille de la carte sélectionnée. Vous ne pourrez pas restaurer le portefeuille actuel ni utiliser la carte pour récupérer le code d\'accès. La réinitialisation aux paramètres d\'usine supprimera complètement le portefeuille de la carte sélectionnée et le supprimera de l\'application. Vous ne pourrez pas restaurer le portefeuille actuel. - Les propriétaires du Tangem Ring bénéficient de 3 échanges sans commission sur Changelly jusqu\'au 15/11 ! + Les propriétaires du Tangem Ring ont droit à 3 swap gratis sur Changelly jusqu\'au 15/11 ! Échangez avec 0 %% de frais maintenant! Avez-vous une carte bancaire d\'un autre pays et un permis de séjour ou une inscription en dehors de la Fédération de Russie ? Les cartes bancaires russes ne sont actuellement pas acceptées diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index 5fa173ec0f..3ac533d36e 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -52,7 +52,7 @@ Сбросить Вы уверены, что хотите это сделать? Смена кода доступа - Код доступа будет изменен только на данной карте + Код доступа будет изменен только на данной карте или кольце Все устройства Tangem выбранного кошелька сброшены до заводских настроек, вы можете создать новый кошелек Сброс завершён Хотите сбросить следующее устройство от этого кошелька? @@ -61,7 +61,7 @@ Вы сбросили не все Tangem устройства Заводские настройки Тип безопасности - Настройки карты + Настройки устройства Помимо сетевой комиссий, сеть Cardano взимает %1$s ADA при транзакции с токеном %2$s Требования к транзакции Cardano Чтобы совершить транзакцию %1$s, внесите некоторую сумму ADA для покрытия сетевой комиссии и минимального значения ADA (рекомендуется 5 ADA) @@ -223,7 +223,7 @@ Реферальная программа Переверните экран вашего устройства вниз, чтобы быстро скрыть и отобразить балансы %s хэшей - Номер карты + Номер устройства Обратиться в поддержку Добавить еще карты Валюта приложения diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 4abb12f95e..513cd8eba2 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -50,7 +50,7 @@ Reset Are you sure you want to do this? Change Access Code - Access code will be changed on this card only + Access code will be changed on this card or ring only All Tangem devices in the selected wallet have been reset to factory settings. You can now create a new wallet. Reset complete Do you want to reset the next device in this wallet? @@ -59,7 +59,7 @@ You haven\'t reset all your Tangem devices Reset to Factory Settings Security Mode - Card settings + Device settings In addition to network fee, the Cardano network charges %1$s ADA when transacting with the %2$s token Cardano transaction requirements To make a %1$s transaction, you must deposit some ADA to cover the network fee and minimum ADA value (5 ADA recommended) @@ -219,7 +219,7 @@ Referral program Flip your device screen down to quickly hide and show balances %s hashes - Card ID + Device ID Contact support Link More Cards App Currency diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index d24b9a04a4..0b8a79c023 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -91,7 +91,7 @@ markdownComposeView = "0.5.4" # region Tangem tangemBlockchainSdk = "release-app_5.16-813" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "release-app_5.16-389" +tangemCardSdk = "release-app_5.16-390" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem17" #tangemVico = "0.0.1" # Keep it! - used for local builds ^ From a1d32e3f7ab5d265d8ad06a0947d8c0a67fabe1b Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 9 Oct 2024 16:03:33 +0500 Subject: [PATCH 12/12] Updated on 2026-08-14 --- .../components/notifications/Notification.kt | 3 +- .../notifications/RingPromoNotification.kt | 129 ++++++++++++------ .../drawable/img_ring_promo_background.webp | Bin 0 -> 84320 bytes .../drawable/img_ring_promo_background.webp | Bin 216684 -> 0 bytes 4 files changed, 92 insertions(+), 40 deletions(-) create mode 100644 core/ui/src/main/res/drawable/img_ring_promo_background.webp delete mode 100644 features/wallet/impl/src/main/res/drawable/img_ring_promo_background.webp diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/Notification.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/Notification.kt index 2ca06231a1..a4c6913d1f 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/Notification.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/Notification.kt @@ -184,6 +184,7 @@ internal fun TextsBlock( subtitle: TextReference, subtitleColor: Color, modifier: Modifier = Modifier, + titleColor: Color = TangemTheme.colors.text.primary1, ) { Column(modifier = modifier) { val titleText = title?.resolveReference() @@ -191,7 +192,7 @@ internal fun TextsBlock( if (titleText != null) { Text( text = titleText, - color = TangemTheme.colors.text.primary1, + color = titleColor, style = TangemTheme.typography.button, ) diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt index dbbd0b0740..c40947749d 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt @@ -1,54 +1,52 @@ package com.tangem.core.ui.components.notifications +import android.content.res.Configuration import androidx.annotation.DrawableRes import androidx.compose.foundation.Image +import androidx.compose.foundation.background import androidx.compose.foundation.layout.* -import androidx.compose.runtime.Composable +import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.layout.FixedScale +import androidx.compose.ui.layout.onSizeChanged +import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import androidx.constraintlayout.compose.ConstraintLayout import com.tangem.core.ui.R import com.tangem.core.ui.extensions.TextReference +import com.tangem.core.ui.extensions.resourceReference +import com.tangem.core.ui.res.TangemColorPalette import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.TangemThemePreview @Composable fun RingPromoNotification(config: NotificationConfig, modifier: Modifier = Modifier) { - NotificationBaseContainer( - backgroundResId = requireNotNull(config.backgroundResId), - onCloseClick = config.onCloseClick, - modifier = modifier, - ) { - MainContent(title = config.title, subtitle = config.subtitle) - } -} + var textHeightDp by remember { mutableStateOf(0.dp) } -@Composable -private fun NotificationBaseContainer( - @DrawableRes backgroundResId: Int, - onCloseClick: (() -> Unit)?, - modifier: Modifier = Modifier, - content: @Composable BoxScope.() -> Unit, -) { Box( modifier = modifier - .requiredHeight(height = 78.dp) .fillMaxWidth() - .clip(shape = TangemTheme.shapes.roundedCornersXMedium), + .clip(shape = TangemTheme.shapes.roundedCornersXMedium) + .background(TangemColorPalette.Dark6), ) { - Image( - painter = painterResource(backgroundResId), - contentDescription = null, - contentScale = ContentScale.Crop, - modifier = Modifier.fillMaxSize(), + PromoImage( + backgroundRes = config.backgroundResId, + iconRes = config.iconResId, + modifier = Modifier.height(textHeightDp), + ) + PromoText( + title = config.title, + subtitle = config.subtitle, + onSizeChange = { textHeightDp = it }, ) - - content() - CloseableIconButton( - onClick = onCloseClick, + onClick = config.onCloseClick, modifier = Modifier.align(alignment = Alignment.TopEnd), iconTint = TangemTheme.colors.icon.informative, ) @@ -56,25 +54,78 @@ private fun NotificationBaseContainer( } @Composable -private fun MainContent(title: TextReference?, subtitle: TextReference) { - Box { - Image( - painter = painterResource(id = R.drawable.img_card_with_ring), - contentDescription = null, - alignment = Alignment.TopStart, - contentScale = ContentScale.Crop, - modifier = Modifier - .padding(start = 9.dp, top = 11.dp) - .requiredWidth(width = 60.dp), - ) +private fun PromoImage(@DrawableRes backgroundRes: Int?, @DrawableRes iconRes: Int, modifier: Modifier = Modifier) { + if (backgroundRes == null) return + ConstraintLayout( + modifier = modifier, + ) { + val (background, image) = createRefs() + Image( + painter = painterResource(backgroundRes), + contentDescription = null, + contentScale = FixedScale(2f), + modifier = Modifier + .constrainAs(background) { + top.linkTo(parent.top) + start.linkTo(image.start) + end.linkTo(image.end) + }, + ) + Image( + painter = painterResource(id = iconRes), + contentDescription = null, + contentScale = ContentScale.FillWidth, + modifier = Modifier + .requiredWidth(width = 60.dp) + .wrapContentHeight(Alignment.Top, unbounded = true) + .constrainAs(image) { + top.linkTo(parent.top, 11.dp) + start.linkTo(parent.start, 9.dp) + }, + ) + } +} + +@Composable +private fun PromoText(title: TextReference?, subtitle: TextReference, onSizeChange: (Dp) -> Unit) { + val density = LocalDensity.current + + Box( + modifier = Modifier.onSizeChanged { + with(density) { onSizeChange(it.height.toDp()) } + }, + ) { TextsBlock( title = title, subtitle = subtitle, subtitleColor = TangemTheme.colors.text.tertiary, + titleColor = TangemTheme.colors.text.constantWhite, modifier = Modifier + .wrapContentHeight() .align(Alignment.CenterStart) .padding(start = 80.dp, top = 12.dp, end = 12.dp, bottom = 12.dp), ) } -} \ No newline at end of file +} + +// region Preview +@Preview(showBackground = true, widthDp = 360) +@Preview(showBackground = true, widthDp = 360, locale = "fr") +@Preview(showBackground = true, widthDp = 360, uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun RingPromoNotification_Preview() { + TangemThemePreview { + RingPromoNotification( + NotificationConfig( + title = resourceReference(id = R.string.ring_promo_title), + subtitle = resourceReference(id = R.string.ring_promo_text), + iconResId = R.drawable.img_card_with_ring, + backgroundResId = R.drawable.img_ring_promo_background, + onCloseClick = { }, + ), + ) + } +} + +// endregion \ No newline at end of file diff --git a/core/ui/src/main/res/drawable/img_ring_promo_background.webp b/core/ui/src/main/res/drawable/img_ring_promo_background.webp new file mode 100644 index 0000000000000000000000000000000000000000..aa5ae8be39ee7a636b2620a558b2fffacd2f39d4 GIT binary patch literal 84320 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∾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

Y1_g+}M76qXXMtGJ0YJ#SnP)A+30PP_@ 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 XUnrlv#gmu(&Ax|uqW>@dEMIQ`>M8oR