From a895ceb04d0c855dada40cfec06b6824b797b0c7 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 19 Oct 2022 12:16:44 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../wallet/redux/OnboardingWalletState.kt | 11 ++++++++++ .../products/wallet/ui/WalletCardsWidget.kt | 21 +++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt index 174766a762..566cf6aaf3 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletState.kt @@ -1,6 +1,8 @@ package com.tangem.tap.features.onboarding.products.wallet.redux import android.graphics.Bitmap +import com.tangem.common.CardFilter +import com.tangem.domain.common.SaltPayWorkaround import com.tangem.tap.common.redux.StateDialog import com.tangem.tap.features.onboarding.products.wallet.saltPay.redux.OnboardingSaltPayState import com.tangem.tap.features.onboarding.products.wallet.saltPay.redux.SaltPayRegistrationStep @@ -18,6 +20,15 @@ data class OnboardingWalletState( val showConfetti: Boolean = false, ) : StateType { + val backupCardIdFilter: CardFilter.Companion.CardIdFilter? + get() = when { + isSaltPay -> CardFilter.Companion.CardIdFilter.Allow( + items = SaltPayWorkaround.walletCardIds.toSet(), + ranges = SaltPayWorkaround.walletCardIdRanges, + ) + else -> null + } + fun getMaxProgress(): Int = when { isSaltPay -> 12 else -> 6 diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/WalletCardsWidget.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/WalletCardsWidget.kt index 9f42b3be0b..833c3dfb81 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/WalletCardsWidget.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/WalletCardsWidget.kt @@ -16,6 +16,8 @@ class WalletCardsWidget( val getTopOfAnchorViewForActivateState: () -> Float, ) { + val animDuration: Long = 400 + var currentState: WidgetState? = null fun toWelcome(animate: Boolean = true, onEnd: () -> Unit = {}) { @@ -27,7 +29,7 @@ class WalletCardsWidget( animator.playTogether( createAnimator(BackupCardType.ORIGIN, createWelcomeProperties(BackupCardType.ORIGIN)), createAnimator(BackupCardType.FIRST_BACKUP, createWelcomeProperties(BackupCardType.FIRST_BACKUP)), - createAnimator(BackupCardType.SECOND_BACKUP, createWelcomeProperties(BackupCardType.SECOND_BACKUP)) + createAnimator(BackupCardType.SECOND_BACKUP, createWelcomeProperties(BackupCardType.SECOND_BACKUP)), ) leapfrogWidget.fold { animator.start() } } @@ -41,7 +43,7 @@ class WalletCardsWidget( animator.playTogether( createAnimator(BackupCardType.ORIGIN, createLeapfrogProperties(BackupCardType.ORIGIN)), createAnimator(BackupCardType.FIRST_BACKUP, createLeapfrogProperties(BackupCardType.FIRST_BACKUP)), - createAnimator(BackupCardType.SECOND_BACKUP, createLeapfrogProperties(BackupCardType.SECOND_BACKUP)) + createAnimator(BackupCardType.SECOND_BACKUP, createLeapfrogProperties(BackupCardType.SECOND_BACKUP)), ) leapfrogWidget.fold(animate) { animator.start() } } @@ -55,7 +57,7 @@ class WalletCardsWidget( animator.playTogether( createAnimator(BackupCardType.ORIGIN, createFanProperties(BackupCardType.ORIGIN)), createAnimator(BackupCardType.FIRST_BACKUP, createFanProperties(BackupCardType.FIRST_BACKUP)), - createAnimator(BackupCardType.SECOND_BACKUP, createFanProperties(BackupCardType.SECOND_BACKUP)) + createAnimator(BackupCardType.SECOND_BACKUP, createFanProperties(BackupCardType.SECOND_BACKUP)), ) leapfrogWidget.fold { animator.start() } } @@ -67,7 +69,7 @@ class WalletCardsWidget( animator.playTogether( createAnimator(BackupCardType.ORIGIN, createLeapfrogProperties(BackupCardType.ORIGIN)), createAnimator(BackupCardType.FIRST_BACKUP, createLeapfrogProperties(BackupCardType.FIRST_BACKUP)), - createAnimator(BackupCardType.SECOND_BACKUP, createLeapfrogProperties(BackupCardType.SECOND_BACKUP)) + createAnimator(BackupCardType.SECOND_BACKUP, createLeapfrogProperties(BackupCardType.SECOND_BACKUP)), ) leapfrogWidget.fold { animator.doOnEnd { @@ -80,7 +82,7 @@ class WalletCardsWidget( private fun createAnimator(animate: Boolean, onEnd: () -> Unit): AnimatorSet { return AnimatorSet().apply { - duration = if (animate) 400 else 0 + duration = if (animate) animDuration else 0 doOnEnd { onEnd() } } } @@ -90,8 +92,11 @@ class WalletCardsWidget( properties: CardProperties, ): ObjectAnimator { val view = getLeapViewByCardNumber(cardType).view - val animator = ObjectAnimator.ofPropertyValuesHolder(view, - *properties.createValuesHolders().toTypedArray()) + val animator = + ObjectAnimator.ofPropertyValuesHolder( + view, + *properties.createValuesHolders().toTypedArray(), + ) view.elevation = properties.elevation return animator } @@ -208,10 +213,8 @@ class WalletCardsWidget( enum class WidgetState { WELCOME, FOLDED, FAN, LEAPFROG } } - enum class BackupCardType { ORIGIN, FIRST_BACKUP, SECOND_BACKUP } - private data class CardProperties( val xTranslation: Float = 0f, val yTranslation: Float = 0f,