From ed8aa753ce1d51873744e6c9a0239fedf08eb754 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 24 Sep 2021 18:28:40 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../redux/navigation/NavigationAction.kt | 27 +++++-------------- .../transitions/OnboardingTransitions.kt | 27 +++++++++++++++++++ .../tangem/tap/features/home/HomeFragment.kt | 11 +++++--- 3 files changed, 41 insertions(+), 24 deletions(-) create mode 100644 app/src/main/java/com/tangem/tap/common/transitions/OnboardingTransitions.kt diff --git a/app/src/main/java/com/tangem/tap/common/redux/navigation/NavigationAction.kt b/app/src/main/java/com/tangem/tap/common/redux/navigation/NavigationAction.kt index 375b16e785..d77f97b263 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/navigation/NavigationAction.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/navigation/NavigationAction.kt @@ -2,18 +2,15 @@ package com.tangem.tap.common.redux.navigation import android.view.View import androidx.fragment.app.FragmentActivity -import androidx.transition.ChangeBounds -import androidx.transition.ChangeImageTransform -import androidx.transition.ChangeTransform import androidx.transition.TransitionSet import org.rekotlin.Action import java.lang.ref.WeakReference sealed class NavigationAction : Action { data class NavigateTo( - val screen: AppScreen, - val addToBackstack: Boolean = true, - val fragmentShareTransition: FragmentShareTransition? = null + val screen: AppScreen, + val addToBackstack: Boolean = true, + val fragmentShareTransition: FragmentShareTransition? = null ) : NavigationAction() data class PopBackTo(val screen: AppScreen? = null) : NavigationAction() @@ -25,19 +22,9 @@ sealed class NavigationAction : Action { } data class FragmentShareTransition( - val shareElements: List, - val enterTransitionSet: TransitionSet, - val exitTransitionSet: TransitionSet + val shareElements: List, + val enterTransitionSet: TransitionSet, + val exitTransitionSet: TransitionSet ) -data class ShareElement(val wView: WeakReference, val name: String) - -//TODO: remove transition example -class DetailsTransition : TransitionSet() { - init { - ordering = ORDERING_TOGETHER; - addTransition(ChangeBounds()) - .addTransition(ChangeTransform()) - .addTransition(ChangeImageTransform()) - } -} \ No newline at end of file +data class ShareElement(val wView: WeakReference, val name: String) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/transitions/OnboardingTransitions.kt b/app/src/main/java/com/tangem/tap/common/transitions/OnboardingTransitions.kt new file mode 100644 index 0000000000..7d9334e123 --- /dev/null +++ b/app/src/main/java/com/tangem/tap/common/transitions/OnboardingTransitions.kt @@ -0,0 +1,27 @@ +package com.tangem.tap.common.transitions + +import androidx.transition.ChangeBounds +import androidx.transition.ChangeImageTransform +import androidx.transition.TransitionSet + +/** +[REDACTED_AUTHOR] + */ +class FrontCardEnterTransition : TransitionSet() { + init { + ordering = ORDERING_TOGETHER; + addTransition(ChangeImageTransform()) + addTransition(ChangeBounds()) +// addTransition(Fade()) +// addTransition(Fade(Visibility.MODE_IN)) +// addTransition(ChangeTransform()) + } +} + +class FrontCardExitTransition : TransitionSet() { + init { + ordering = ORDERING_TOGETHER; + addTransition(ChangeImageTransform()) + addTransition(ChangeBounds()) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt index 457509098f..e9f86f005b 100644 --- a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt @@ -10,11 +10,12 @@ import androidx.transition.TransitionInflater import com.tangem.tap.common.extensions.safeStartActivity import com.tangem.tap.common.extensions.toast import com.tangem.tap.common.redux.global.StateDialog -import com.tangem.tap.common.redux.navigation.DetailsTransition import com.tangem.tap.common.redux.navigation.FragmentShareTransition import com.tangem.tap.common.redux.navigation.ShareElement import com.tangem.tap.common.toggleWidget.IndeterminateProgressButtonWidget import com.tangem.tap.common.toggleWidget.ViewStateWidget +import com.tangem.tap.common.transitions.FrontCardEnterTransition +import com.tangem.tap.common.transitions.FrontCardExitTransition import com.tangem.tap.features.home.redux.HomeAction import com.tangem.tap.features.home.redux.HomeDialog import com.tangem.tap.features.home.redux.HomeState @@ -40,9 +41,11 @@ class HomeFragment : Fragment(R.layout.fragment_home), StoreSubscriber() - transitionViews.add(ShareElement(WeakReference(imv_front_card), imv_front_card.transitionName)) - val shareTransition = FragmentShareTransition(transitionViews, DetailsTransition(), DetailsTransition()) + val shareTransition = FragmentShareTransition( + listOf(ShareElement(WeakReference(imv_front_card), imv_front_card.transitionName)), + FrontCardEnterTransition(), + FrontCardExitTransition() + ) store.dispatch(HomeAction.SetFragmentShareTransition(shareTransition)) store.dispatch(HomeAction.Init)