Updated on 2026-08-14
This commit is contained in:
parent
03c10dac66
commit
223858d6e6
5 changed files with 17 additions and 8 deletions
|
|
@ -35,7 +35,7 @@ class IntentHandler {
|
|||
intent.action = null
|
||||
store.dispatch(NavigationAction.NavigateTo(AppScreen.Home))
|
||||
store.dispatch(NavigationAction.PopBackTo(AppScreen.Home))
|
||||
store.dispatch(HomeAction.ReadCard)
|
||||
store.dispatch(HomeAction.ReadCard())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class HomeFragment : Fragment(), StoreSubscriber<HomeState> {
|
|||
homeState,
|
||||
onScanButtonClick = {
|
||||
Analytics.send(IntroductionProcess.ButtonScanCard())
|
||||
store.dispatch(HomeAction.ReadCard)
|
||||
store.dispatch(HomeAction.ReadCard())
|
||||
},
|
||||
onShopButtonClick = {
|
||||
Analytics.send(IntroductionProcess.ButtonBuyCards())
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.tangem.tap.features.home.redux
|
||||
|
||||
import com.tangem.tap.common.entities.IndeterminateProgressButton
|
||||
import com.tangem.tap.common.redux.navigation.AppScreen
|
||||
import org.rekotlin.Action
|
||||
|
||||
sealed class HomeAction : Action {
|
||||
|
|
@ -9,7 +10,10 @@ sealed class HomeAction : Action {
|
|||
data class ShouldScanCardOnResume(val shouldScanCard: Boolean) : HomeAction()
|
||||
|
||||
// from ui
|
||||
object ReadCard : HomeAction()
|
||||
data class ReadCard(
|
||||
val fromScreen: AppScreen = AppScreen.Home,
|
||||
) : HomeAction()
|
||||
|
||||
data class ScanInProgress(val scanInProgress: Boolean) : HomeAction()
|
||||
data class GoToShop(val userCountryCode: String?) : HomeAction()
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.tangem.tap.DELAY_SDK_DIALOG_CLOSE
|
|||
import com.tangem.tap.backupService
|
||||
import com.tangem.tap.common.analytics.Analytics
|
||||
import com.tangem.tap.common.analytics.events.IntroductionProcess
|
||||
import com.tangem.tap.common.analytics.events.MainScreen
|
||||
import com.tangem.tap.common.analytics.events.Shop
|
||||
import com.tangem.tap.common.analytics.paramsInterceptor.BatchIdParamsInterceptor
|
||||
import com.tangem.tap.common.entities.IndeterminateProgressButton
|
||||
|
|
@ -76,7 +77,7 @@ private fun handleHomeAction(appState: () -> AppState?, action: Action, dispatch
|
|||
is HomeAction.ShouldScanCardOnResume -> {
|
||||
if (action.shouldScanCard) {
|
||||
store.dispatch(HomeAction.ShouldScanCardOnResume(false))
|
||||
postUiDelayBg(700) { store.dispatch(HomeAction.ReadCard) }
|
||||
postUiDelayBg(700) { store.dispatch(HomeAction.ReadCard(AppScreen.Wallet)) }
|
||||
}
|
||||
}
|
||||
is HomeAction.ReadCard -> {
|
||||
|
|
@ -90,7 +91,7 @@ private fun handleHomeAction(appState: () -> AppState?, action: Action, dispatch
|
|||
nextHandler = {
|
||||
showDisclaimerIfNeed(
|
||||
scanResponse = scanResponse,
|
||||
nextHandler = ::onScanSuccess,
|
||||
nextHandler = { onScanSuccess(action.fromScreen, scanResponse) },
|
||||
)
|
||||
},
|
||||
)
|
||||
|
|
@ -154,8 +155,12 @@ private fun showDisclaimerIfNeed(scanResponse: ScanResponse, nextHandler: (ScanR
|
|||
}
|
||||
}
|
||||
|
||||
private fun onScanSuccess(scanResponse: ScanResponse) {
|
||||
Analytics.send(IntroductionProcess.CardWasScanned())
|
||||
private fun onScanSuccess(fromScreen: AppScreen, scanResponse: ScanResponse) {
|
||||
when (fromScreen) {
|
||||
AppScreen.Wallet -> Analytics.send(MainScreen.CardWasScanned())
|
||||
else -> Analytics.send(IntroductionProcess.CardWasScanned())
|
||||
}
|
||||
|
||||
val globalState = store.state.globalState
|
||||
val tapWalletManager = globalState.tapWalletManager
|
||||
tapWalletManager.updateConfigManager(scanResponse)
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ private fun handleWalletAction(action: Action, state: () -> AppState?, dispatch:
|
|||
|
||||
if (scanResponse == null) {
|
||||
store.dispatch(NavigationAction.PopBackTo())
|
||||
store.dispatch(HomeAction.ReadCard)
|
||||
store.dispatch(HomeAction.ReadCard())
|
||||
} else {
|
||||
val backupState = store.state.onboardingWalletState.backupState
|
||||
val updatedScanResponse = updateScanResponseAfterBackup(scanResponse, backupState)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue