Updated on 2026-08-14

This commit is contained in:
Tangem 2025-01-16 10:07:05 +03:00
parent bfd38fd000
commit ea087aac49
21 changed files with 464 additions and 8 deletions

View file

@ -4,6 +4,7 @@ import androidx.compose.runtime.Stable
import com.tangem.core.decompose.di.ComponentScoped
import com.tangem.core.decompose.model.Model
import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.state.OnboardingVisaAccessCodeUM
import com.tangem.sdk.api.TangemSdkManager
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import kotlinx.coroutines.flow.*
import kotlinx.coroutines.launch
@ -13,6 +14,7 @@ import javax.inject.Inject
@ComponentScoped
internal class OnboardingVisaAccessCodeModel @Inject constructor(
override val dispatchers: CoroutineDispatcherProvider,
private val tangemSdkManager: TangemSdkManager,
) : Model() {
private val _uiState = MutableStateFlow(getInitialState())
@ -44,7 +46,7 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor(
_uiState.update { it.copy(step = OnboardingVisaAccessCodeUM.Step.ReEnter) }
}
OnboardingVisaAccessCodeUM.Step.ReEnter -> {
startActivationProcess()
startActivationProcess(accessCode = uiState.value.accessCodeFirst.text)
}
}
}
@ -67,8 +69,26 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor(
return true
}
private fun startActivationProcess() {
TODO()
private fun startActivationProcess(accessCode: String) {
modelScope.launch {
@Suppress("UnusedPrivateMember")
val result = tangemSdkManager.activateVisaCard(
accessCode = accessCode,
challengeToSign = null,
activationInput = TODO(),
)
// when (result) {
// is CompletionResult.Success -> {
// val response = result.data
// TODO()
// }
// is CompletionResult.Failure -> {
// // show alert
// TODO()
// }
// }
}
}
private companion object {