Updated on 2026-08-14

This commit is contained in:
Tangem 2023-08-31 12:54:35 +03:00
parent 1576e3f5aa
commit 650376600c
2 changed files with 23 additions and 6 deletions

View file

@ -21,6 +21,7 @@ import com.tangem.common.CardIdFormatter
import com.tangem.common.CompletionResult
import com.tangem.common.core.CardIdDisplayFormat
import com.tangem.core.analytics.Analytics
import com.tangem.domain.common.util.cardTypesResolver
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
@ -64,6 +65,7 @@ class OnboardingWalletFragment :
private val seedPhraseViewModel by viewModels<SeedPhraseViewModel>()
private lateinit var cardsWidget: WalletCardsWidget
private var seedPhraseRouter: SeedPhraseRouter? = null
private var accessCodeDialog: AccessCodeDialog? = null
private lateinit var animator: BackupAnimator
@ -77,7 +79,9 @@ class OnboardingWalletFragment :
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
seedPhraseViewModel.setRouter(makeSeedPhraseRouter())
val newSeedPhraseRouter = makeSeedPhraseRouter()
seedPhraseRouter = newSeedPhraseRouter
seedPhraseViewModel.setRouter(newSeedPhraseRouter)
seedPhraseViewModel.setMediator(makeSeedPhraseMediator())
}
@ -435,6 +439,19 @@ class OnboardingWalletFragment :
}
override fun handleOnBackPressed() {
// workaround to use right navigation back for toolbar back btn on seed phrase flow
val isWallet2 =
store.state.globalState.onboardingState.onboardingManager?.scanResponse?.cardTypesResolver?.isWallet2()
?: false
val seedPhraseRouter = seedPhraseRouter
if (seedPhraseRouter != null && isWallet2) {
seedPhraseRouter.navigateBack()
} else {
legacyOnBackHandler()
}
}
private fun legacyOnBackHandler() {
store.dispatch(OnboardingWalletAction.OnBackPressed)
}
@ -445,7 +462,7 @@ class OnboardingWalletFragment :
}
private fun makeSeedPhraseRouter(): SeedPhraseRouter = SeedPhraseRouter(
onBack = ::handleOnBackPressed,
onBack = ::legacyOnBackHandler,
onOpenChat = {
store.dispatch(GlobalAction.OpenChat(SupportInfo()))
},

View file

@ -21,11 +21,11 @@ class SeedPhraseRouter(
fun navigateBack() {
_currentScreen.value = when (_currentScreen.value) {
SeedPhraseScreen.CheckSeedPhrase -> SeedPhraseScreen.YourSeedPhrase
SeedPhraseScreen.Intro,
SeedPhraseScreen.AboutSeedPhrase,
SeedPhraseScreen.YourSeedPhrase,
SeedPhraseScreen.AboutSeedPhrase -> SeedPhraseScreen.Intro
SeedPhraseScreen.ImportSeedPhrase,
-> {
SeedPhraseScreen.YourSeedPhrase,
-> SeedPhraseScreen.AboutSeedPhrase
SeedPhraseScreen.Intro -> {
onBack.invoke()
return
}