Updated on 2026-08-14
This commit is contained in:
parent
5dcb39b560
commit
5eed89215c
5 changed files with 6 additions and 43 deletions
|
|
@ -4,7 +4,6 @@ import com.tangem.blockchain.common.WalletManager
|
|||
import com.tangem.common.CompletionResult
|
||||
import com.tangem.common.core.TangemError
|
||||
import com.tangem.tap.common.redux.*
|
||||
import com.tangem.tap.common.redux.navigation.AppScreen
|
||||
import com.tangem.tap.domain.TapError
|
||||
import com.tangem.tap.domain.configurable.config.ConfigManager
|
||||
import com.tangem.tap.domain.configurable.warningMessage.WarningMessage
|
||||
|
|
@ -29,7 +28,7 @@ sealed class GlobalAction : Action {
|
|||
object HideDialog : GlobalAction()
|
||||
|
||||
sealed class Onboarding {
|
||||
data class Start(val scanResponse: ScanResponse, val fromScreen: AppScreen) : GlobalAction()
|
||||
data class Start(val scanResponse: ScanResponse) : GlobalAction()
|
||||
object Stop : GlobalAction()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ fun globalReducer(action: Action, state: AppState): GlobalState {
|
|||
return when (action) {
|
||||
is GlobalAction.Onboarding.Start -> {
|
||||
val usedCardsPrefStorage = preferencesStorage.usedCardsPrefStorage
|
||||
val onboardingState = OnboardingManager(action.scanResponse, action.fromScreen, usedCardsPrefStorage)
|
||||
val onboardingState = OnboardingManager(action.scanResponse, usedCardsPrefStorage)
|
||||
globalState.copy(onboardingManager = onboardingState)
|
||||
}
|
||||
is GlobalAction.Onboarding.Stop -> {
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ private fun handleReadCard() {
|
|||
store.dispatch(GlobalAction.ScanCard({ scanResponse ->
|
||||
if (OnboardingHelper.isOnboardingCase(scanResponse)) {
|
||||
val navigateTo = OnboardingHelper.whereToNavigate(scanResponse)
|
||||
store.dispatch(GlobalAction.Onboarding.Start(scanResponse, AppScreen.Home))
|
||||
store.dispatch(GlobalAction.Onboarding.Start(scanResponse))
|
||||
navigateTo(navigateTo, store.state.homeState.shareTransition)
|
||||
} else {
|
||||
scope.launch { store.state.globalState.tapWalletManager.onCardScanned(scanResponse) }
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import com.tangem.operations.attestation.CardVerifyAndGetInfo
|
|||
import com.tangem.operations.attestation.OnlineCardVerifier
|
||||
import com.tangem.tap.common.extensions.isPositive
|
||||
import com.tangem.tap.common.extensions.safeUpdate
|
||||
import com.tangem.tap.common.redux.navigation.AppScreen
|
||||
import com.tangem.tap.domain.TapError
|
||||
import com.tangem.tap.domain.UrlBitmapLoader
|
||||
import com.tangem.tap.domain.extensions.getOrLoadCardArtworkUrl
|
||||
|
|
@ -29,7 +28,6 @@ import kotlin.coroutines.suspendCoroutine
|
|||
*/
|
||||
class OnboardingManager(
|
||||
var scanResponse: ScanResponse,
|
||||
val fromScreen: AppScreen,
|
||||
val usedCardsPrefStorage: UsedCardsPrefStorage,
|
||||
) {
|
||||
|
||||
|
|
|
|||
|
|
@ -2,17 +2,12 @@ package com.tangem.tap.features.onboarding.products
|
|||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.transition.TransitionInflater
|
||||
import com.tangem.tap.common.extensions.inflate
|
||||
import com.tangem.tap.common.extensions.show
|
||||
import com.tangem.tap.common.redux.navigation.AppScreen
|
||||
import com.tangem.tap.common.redux.navigation.NavigationAction
|
||||
import com.tangem.tap.common.transitions.HomeToOnboardingTransition
|
||||
import com.tangem.tap.features.send.BaseStoreFragment
|
||||
import com.tangem.tap.store
|
||||
import com.tangem.wallet.R
|
||||
import kotlinx.android.synthetic.main.fragment_onboarding_main.*
|
||||
import kotlinx.android.synthetic.main.layout_pseudo_toolbar.*
|
||||
import kotlinx.android.synthetic.main.view_confetti.*
|
||||
import org.rekotlin.StoreSubscriber
|
||||
|
||||
|
|
@ -21,49 +16,20 @@ import org.rekotlin.StoreSubscriber
|
|||
*/
|
||||
abstract class BaseOnboardingFragment<T> : BaseStoreFragment(R.layout.fragment_onboarding_main), StoreSubscriber<T> {
|
||||
|
||||
protected var fromScreen: AppScreen? = null
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
fromScreen = store.state.globalState.onboardingManager?.fromScreen
|
||||
|
||||
super.onCreate(savedInstanceState)
|
||||
configureTransitions()
|
||||
}
|
||||
|
||||
override fun configureTransitions() {
|
||||
val inflater = TransitionInflater.from(requireContext())
|
||||
when (fromScreen) {
|
||||
AppScreen.Home -> {
|
||||
enterTransition = HomeToOnboardingTransition()
|
||||
exitTransition = HomeToOnboardingTransition()
|
||||
}
|
||||
AppScreen.Wallet -> {
|
||||
enterTransition = inflater.inflateTransition(android.R.transition.slide_bottom)
|
||||
exitTransition = inflater.inflateTransition(android.R.transition.slide_top)
|
||||
}
|
||||
}
|
||||
enterTransition = HomeToOnboardingTransition()
|
||||
exitTransition = HomeToOnboardingTransition()
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
onboarding_top_container.inflate(getOnboardingTopContainerId(), true)
|
||||
configureToolbar()
|
||||
}
|
||||
|
||||
private fun configureToolbar() {
|
||||
when (fromScreen) {
|
||||
AppScreen.Home -> {
|
||||
toolbar.show(true)
|
||||
pseudo_toolbar.visibility = View.GONE
|
||||
}
|
||||
AppScreen.Wallet -> {
|
||||
toolbar.visibility = View.GONE
|
||||
pseudo_toolbar.show(true)
|
||||
imv_close.setOnClickListener {
|
||||
store.dispatch(NavigationAction.PopBackTo())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract fun getOnboardingTopContainerId(): Int
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue