Updated on 2026-08-14
This commit is contained in:
parent
d349739524
commit
1806ddc31d
18 changed files with 55 additions and 11 deletions
|
|
@ -20,6 +20,7 @@ internal class DefaultScanCardProcessor(
|
|||
cardId: String?,
|
||||
allowsRequestAccessCodeFromRepository: Boolean,
|
||||
analyticsSource: AnalyticsParam.ScreensSources,
|
||||
shouldCheckIsAlreadyActivated: Boolean,
|
||||
): CompletionResult<ScanResponse> {
|
||||
return if (isNewCardScanningEnabled) {
|
||||
UseCaseScanProcessor.scan(cardId, allowsRequestAccessCodeFromRepository)
|
||||
|
|
@ -28,6 +29,7 @@ internal class DefaultScanCardProcessor(
|
|||
analyticsSource = analyticsSource,
|
||||
cardId = cardId,
|
||||
allowsRequestAccessCodeFromRepository = allowsRequestAccessCodeFromRepository,
|
||||
shouldCheckIsAlreadyActivated = shouldCheckIsAlreadyActivated,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -35,6 +37,7 @@ internal class DefaultScanCardProcessor(
|
|||
@Suppress("LongParameterList")
|
||||
override suspend fun scan(
|
||||
analyticsSource: AnalyticsParam.ScreensSources,
|
||||
shouldCheckIsAlreadyActivated: Boolean,
|
||||
cardId: String?,
|
||||
onProgressStateChange: suspend (showProgress: Boolean) -> Unit,
|
||||
onWalletNotCreated: suspend () -> Unit,
|
||||
|
|
@ -56,6 +59,7 @@ internal class DefaultScanCardProcessor(
|
|||
} else {
|
||||
legacyScanProcessor.scan(
|
||||
analyticsSource = analyticsSource,
|
||||
shouldCheckIsAlreadyActivated = shouldCheckIsAlreadyActivated,
|
||||
cardId = cardId,
|
||||
onProgressStateChange = onProgressStateChange,
|
||||
onWalletNotCreated = onWalletNotCreated,
|
||||
|
|
|
|||
|
|
@ -55,10 +55,12 @@ internal class LegacyScanProcessor @Inject constructor(
|
|||
cardId: String? = null,
|
||||
allowsRequestAccessCodeFromRepository: Boolean = false,
|
||||
analyticsSource: AnalyticsParam.ScreensSources,
|
||||
shouldCheckIsAlreadyActivated: Boolean,
|
||||
): CompletionResult<ScanResponse> {
|
||||
return tangemSdkManager.scanProduct(
|
||||
cardId = cardId,
|
||||
allowsRequestAccessCodeFromRepository = allowsRequestAccessCodeFromRepository,
|
||||
shouldCheckIsAlreadyActivated = shouldCheckIsAlreadyActivated,
|
||||
)
|
||||
.doOnFailure { error ->
|
||||
onScanFailure(analyticsSource = analyticsSource, error = error, onFailure = {}, onCancel = {})
|
||||
|
|
@ -68,6 +70,7 @@ internal class LegacyScanProcessor @Inject constructor(
|
|||
@Suppress("LongParameterList")
|
||||
suspend fun scan(
|
||||
analyticsSource: AnalyticsParam.ScreensSources,
|
||||
shouldCheckIsAlreadyActivated: Boolean,
|
||||
cardId: String?,
|
||||
onProgressStateChange: suspend (showProgress: Boolean) -> Unit,
|
||||
onWalletNotCreated: suspend () -> Unit,
|
||||
|
|
@ -80,7 +83,10 @@ internal class LegacyScanProcessor @Inject constructor(
|
|||
|
||||
tangemSdkManager.changeDisplayedCardIdNumbersCount(null)
|
||||
|
||||
val result = tangemSdkManager.scanProduct(cardId)
|
||||
val result = tangemSdkManager.scanProduct(
|
||||
cardId = cardId,
|
||||
shouldCheckIsAlreadyActivated = shouldCheckIsAlreadyActivated,
|
||||
)
|
||||
|
||||
val analyticsEvent = Basic.CardWasScanned(analyticsSource)
|
||||
store.dispatchOnMain(GlobalAction.ScanFailsCounter.ChooseBehavior(result, analyticsSource))
|
||||
|
|
|
|||
|
|
@ -13,11 +13,16 @@ internal class DefaultScanCardRepository(
|
|||
|
||||
private val exceptionConverter = ScanCardExceptionConverter()
|
||||
|
||||
override suspend fun scanCard(cardId: String?, allowRequestAccessCodeFromStorage: Boolean): ScanResponse {
|
||||
override suspend fun scanCard(
|
||||
cardId: String?,
|
||||
allowRequestAccessCodeFromStorage: Boolean,
|
||||
shouldCheckIsAlreadyActivated: Boolean,
|
||||
): ScanResponse {
|
||||
return when (
|
||||
val result = tangemSdkManager.scanProduct(
|
||||
cardId = cardId,
|
||||
allowsRequestAccessCodeFromRepository = allowRequestAccessCodeFromStorage,
|
||||
shouldCheckIsAlreadyActivated = shouldCheckIsAlreadyActivated,
|
||||
)
|
||||
) {
|
||||
is CompletionResult.Success -> result.data
|
||||
|
|
|
|||
|
|
@ -166,6 +166,7 @@ internal class DefaultTangemSdkManager(
|
|||
cardId: String?,
|
||||
messageRes: Int?,
|
||||
allowsRequestAccessCodeFromRepository: Boolean,
|
||||
shouldCheckIsAlreadyActivated: Boolean,
|
||||
): CompletionResult<ScanResponse> {
|
||||
val message = Message(resources.getStringSafe(messageRes ?: R.string.initial_message_scan_header))
|
||||
return coroutineScope {
|
||||
|
|
@ -176,7 +177,7 @@ internal class DefaultTangemSdkManager(
|
|||
allowsRequestAccessCodeFromRepository = allowsRequestAccessCodeFromRepository,
|
||||
visaCardScanHandler = visaCardScanHandler,
|
||||
visaCoroutineScope = this,
|
||||
shouldCheckIsAlreadyActivated = true,
|
||||
shouldCheckIsAlreadyActivated = shouldCheckIsAlreadyActivated,
|
||||
onboardingV2FeatureToggles = onboardingV2FeatureToggles,
|
||||
),
|
||||
cardId = cardId,
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ class MockTangemSdkManager(
|
|||
cardId: String?,
|
||||
messageRes: Int?,
|
||||
allowsRequestAccessCodeFromRepository: Boolean,
|
||||
shouldCheckIsAlreadyActivated: Boolean,
|
||||
): CompletionResult<ScanResponse> {
|
||||
return MockProvider.getScanResponse()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -296,7 +296,9 @@ internal class DefaultUserWalletsListRepository(
|
|||
}
|
||||
|
||||
val scanResponse = unlockMethod.scanResponse ?: run {
|
||||
when (val res = tangemSdkManagerProvider().scanProduct()) {
|
||||
when (val res = tangemSdkManagerProvider().scanProduct(
|
||||
shouldCheckIsAlreadyActivated = false,
|
||||
)) {
|
||||
is CompletionResult.Failure -> raise(UnlockWalletError.UserCancelled)
|
||||
is CompletionResult.Success -> res.data
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,6 +107,7 @@ internal class CardSettingsModel @Inject constructor(
|
|||
private fun scanCard() = modelScope.launch {
|
||||
scanCardProcessor.scan(
|
||||
analyticsSource = com.tangem.core.analytics.models.AnalyticsParam.ScreensSources.Settings,
|
||||
shouldCheckIsAlreadyActivated = false,
|
||||
allowsRequestAccessCodeFromRepository = true,
|
||||
)
|
||||
.doOnSuccess { scanResponse ->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue