Updated on 2026-08-14

This commit is contained in:
Tangem 2021-10-18 23:16:16 +03:00
parent 5dcb39b560
commit 5eed89215c
5 changed files with 6 additions and 43 deletions

View file

@ -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()
}

View file

@ -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 -> {

View file

@ -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) }

View file

@ -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,
) {

View file

@ -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