diff --git a/app/src/main/java/com/tangem/tap/common/extensions/Navigation.kt b/app/src/main/java/com/tangem/tap/common/extensions/Navigation.kt index df5762ec97..6dc414e945 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/Navigation.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/Navigation.kt @@ -20,7 +20,7 @@ import com.tangem.tap.features.home.HomeFragment import com.tangem.tap.features.main.ui.ModalNotificationBottomSheetFragment import com.tangem.tap.features.onboarding.products.note.OnboardingNoteFragment import com.tangem.tap.features.onboarding.products.otherCards.OnboardingOtherCardsFragment -import com.tangem.tap.features.onboarding.products.twins.ui.TwinsCardsFragment +import com.tangem.tap.features.onboarding.products.twins.ui.OnboardingTwinsFragment import com.tangem.tap.features.onboarding.products.wallet.ui.OnboardingWalletFragment import com.tangem.tap.features.saveWallet.ui.SaveWalletBottomSheetFragment import com.tangem.tap.features.send.ui.SendFragment @@ -125,7 +125,7 @@ private fun fragmentFactory(screen: AppScreen): Fragment { AppScreen.Shop -> ShopFragment() AppScreen.OnboardingNote -> OnboardingNoteFragment() AppScreen.OnboardingWallet -> OnboardingWalletFragment() - AppScreen.OnboardingTwins -> TwinsCardsFragment() + AppScreen.OnboardingTwins -> OnboardingTwinsFragment() AppScreen.OnboardingOther -> OnboardingOtherCardsFragment() AppScreen.Wallet -> { store.state.daggerGraphState diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingHelper.kt b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingHelper.kt index 015bf0d5d6..fa2b2a0832 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingHelper.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingHelper.kt @@ -4,6 +4,7 @@ import com.tangem.common.doOnFailure import com.tangem.common.doOnSuccess import com.tangem.common.extensions.guard import com.tangem.core.analytics.Analytics +import com.tangem.core.analytics.models.Basic import com.tangem.core.navigation.AppScreen import com.tangem.core.navigation.NavigationAction import com.tangem.domain.common.util.cardTypesResolver @@ -14,7 +15,6 @@ import com.tangem.domain.userwallets.UserWalletBuilder import com.tangem.domain.userwallets.UserWalletIdBuilder import com.tangem.tap.* import com.tangem.tap.common.analytics.converters.ParamCardCurrencyConverter -import com.tangem.core.analytics.models.Basic import com.tangem.tap.common.extensions.dispatchOnMain import com.tangem.tap.common.extensions.onUserWalletSelected import com.tangem.tap.common.extensions.removeContext @@ -106,14 +106,17 @@ object OnboardingHelper { backupCardsIds = backupCardsIds?.toSet(), ), ) + store.dispatchOnMain(NavigationAction.NavigateTo(AppScreen.Wallet)) + delay(timeMillis = 1_800) store.dispatchOnMain(NavigationAction.NavigateTo(AppScreen.SaveWallet)) } // If device has no biometry and save wallet screen has been shown, then go through old scenario - else -> proceedWithScanResponse(scanResponse, backupCardsIds) + else -> { + proceedWithScanResponse(scanResponse, backupCardsIds) + store.dispatchOnMain(NavigationAction.NavigateTo(AppScreen.Wallet)) + } } } - - store.dispatchOnMain(NavigationAction.NavigateTo(AppScreen.Wallet)) } fun onInterrupted() { @@ -143,7 +146,7 @@ object OnboardingHelper { Timber.e(error, "Unable to save user wallet") } .doOnSuccess { - scope.launch { store.onUserWalletSelected(userWallet) } + mainScope.launch { store.onUserWalletSelected(userWallet) } } } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/OnboardingTwinsFragment.kt similarity index 99% rename from app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt rename to app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/OnboardingTwinsFragment.kt index e07b4ab7f3..75e54a693c 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/OnboardingTwinsFragment.kt @@ -39,7 +39,7 @@ import javax.inject.Inject @Suppress("LargeClass") @AndroidEntryPoint -class TwinsCardsFragment : BaseOnboardingFragment() { +internal class OnboardingTwinsFragment : BaseOnboardingFragment() { @Inject lateinit var assetReader: AssetReader diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModelV2.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModelV2.kt index a7bd5b9f0b..ae097c7991 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModelV2.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModelV2.kt @@ -112,8 +112,8 @@ internal class WalletViewModelV2 @Inject constructor( private fun subscribeToUserWalletsUpdates(shouldSaveUserWallet: Boolean) { getWalletsUseCase() - .distinctUntilChanged() .conflate() + .distinctUntilChanged() .map { walletsUpdateActionResolver.resolve( wallets = it,