Updated on 2026-08-14

This commit is contained in:
Tangem 2024-03-01 17:31:59 +08:00
parent 5c37996587
commit a7c74b16f3
3 changed files with 93 additions and 89 deletions

View file

@ -119,28 +119,24 @@ class DetailsMiddleware {
doBeforeErase()
tangemSdkManager.resetToFactorySettings(card.cardId, true)
.flatMap { userWalletsListManager.delete(listOfNotNull(userWalletId)) }
.flatMap { tangemSdkManager.deleteSavedUserCodes(setOf(card.cardId)) }
.doOnSuccess {
Analytics.send(Settings.CardSettings.FactoryResetFinished())
val selectedUserWallet = userWalletsListManager.selectedUserWalletSync
if (selectedUserWallet != null) {
store.dispatchOnMain(NavigationAction.PopBackTo(AppScreen.Wallet))
store.onUserWalletSelected(selectedUserWallet)
} else {
if (userWalletsListManager.isLockedSync) {
userWalletsListManager.delete(listOfNotNull(userWalletId))
store.dispatchOnMain(NavigationAction.PopBackTo(AppScreen.Welcome))
} else {
store.dispatchOnMain(NavigationAction.PopBackTo(AppScreen.Wallet))
delay(timeMillis = 500)
userWalletsListManager.delete(listOfNotNull(userWalletId))
store.onUserWalletSelected(selectedUserWallet)
store.dispatchOnMain(NavigationAction.PopBackTo(AppScreen.Home))
}
} else {
userWalletsListManager.delete(listOfNotNull(userWalletId))
store.dispatchOnMain(NavigationAction.PopBackTo(AppScreen.Home))
}
}
.doOnFailure { error ->
userWalletsListManager.delete(listOfNotNull(userWalletId))
if (error is TangemSdkError && error !is TangemSdkError.UserCancelled) {
Analytics.send(Settings.CardSettings.FactoryResetFinished(error))
}