From 6148b6b52334d40cf95ee60ea431af0c441da49e Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 15 Jun 2026 20:45:09 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../main/java/com/tangem/tap/MainActivity.kt | 1 + .../com/tangem/tap/routing/RootContent.kt | 37 +++++++++++-------- app/src/main/res/values/styles.xml | 1 + 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/MainActivity.kt b/app/src/main/java/com/tangem/tap/MainActivity.kt index b2aa247f2c..a1e0bdd716 100644 --- a/app/src/main/java/com/tangem/tap/MainActivity.kt +++ b/app/src/main/java/com/tangem/tap/MainActivity.kt @@ -200,6 +200,7 @@ class MainActivity : AppCompatActivity(), ActivityResultCallbackHolder { } splashScreen.setKeepOnScreenCondition { viewModel.isSplashScreenShown } + splashScreen.setOnExitAnimationListener { provider -> provider.remove() } installActivityDependencies() observeAppThemeModeUpdates() diff --git a/app/src/main/java/com/tangem/tap/routing/RootContent.kt b/app/src/main/java/com/tangem/tap/routing/RootContent.kt index 14f5871bbc..762f6b21a6 100644 --- a/app/src/main/java/com/tangem/tap/routing/RootContent.kt +++ b/app/src/main/java/com/tangem/tap/routing/RootContent.kt @@ -4,12 +4,7 @@ import android.app.Activity import android.os.Build import android.os.Bundle import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.imePadding -import androidx.compose.foundation.layout.navigationBarsPadding -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.statusBarsPadding +import androidx.compose.foundation.layout.* import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Alignment @@ -32,11 +27,7 @@ import com.tangem.core.ui.components.haze.ProvideHaze import com.tangem.core.ui.components.snackbar.TangemSnackbarHost import com.tangem.core.ui.components.snackbar.TangemTopSnackbarHost import com.tangem.core.ui.message.EventMessageEffect -import com.tangem.core.ui.res.LocalRedesignEnabled -import com.tangem.core.ui.res.LocalRootBackgroundColor -import com.tangem.core.ui.res.LocalSnackbarHostState -import com.tangem.core.ui.res.LocalTopSnackbarHostState -import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.* import com.tangem.core.ui.security.ProvideSecureFlagController import com.tangem.tap.routing.component.RoutingComponent import com.tangem.tap.routing.transitions.RoutingTransitionAnimationFactory @@ -124,20 +115,34 @@ private fun childrenAnimation( backHandler: BackHandler, onBack: () -> Unit, ): StackAnimation { - return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + val routeAnimation = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { predictiveBackAnimation( backHandler = backHandler, onBack = onBack, selector = { backEvent, _, _ -> androidPredictiveBackAnimatable(backEvent) }, - fallbackAnimation = stackAnimation { - RoutingTransitionAnimationFactory.create(it.configuration) + fallbackAnimation = stackAnimation { child -> + RoutingTransitionAnimationFactory.create(child.configuration) }, ) } else { - stackAnimation { - RoutingTransitionAnimationFactory.create(it.configuration) + stackAnimation { child -> + RoutingTransitionAnimationFactory.create(child.configuration) } } + + return skipAnimationWhileInitial(routeAnimation) +} + +private fun skipAnimationWhileInitial( + delegate: StackAnimation, +): StackAnimation = StackAnimation { stack, animModifier, content -> + if (stack.active.configuration is AppRoute.Initial) { + Box(modifier = animModifier) { + content(stack.active) + } + } else { + delegate(stack, animModifier, content) + } } \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 6ec92245ac..fb2a9642e9 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -3,6 +3,7 @@