From 08171ca89ef911828ea6892ccc76914975998864 Mon Sep 17 00:00:00 2001 From: KaylaBrady <31781298+KaylaBrady@users.noreply.github.com> Date: Wed, 15 Jan 2025 09:36:06 -0500 Subject: [PATCH] fix(android.NearbyTransitPage): Skip slide animation within a single stop --- .../android/pages/NearbyTransitPage.kt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/androidApp/src/main/java/com/mbta/tid/mbta_app/android/pages/NearbyTransitPage.kt b/androidApp/src/main/java/com/mbta/tid/mbta_app/android/pages/NearbyTransitPage.kt index dd6940f69..2d3f1f997 100644 --- a/androidApp/src/main/java/com/mbta/tid/mbta_app/android/pages/NearbyTransitPage.kt +++ b/androidApp/src/main/java/com/mbta/tid/mbta_app/android/pages/NearbyTransitPage.kt @@ -1,6 +1,7 @@ package com.mbta.tid.mbta_app.android.pages import androidx.compose.animation.AnimatedContentTransitionScope +import androidx.compose.animation.EnterTransition import androidx.compose.animation.core.EaseInOut import androidx.compose.animation.core.tween import androidx.compose.foundation.background @@ -209,10 +210,20 @@ fun NearbyTransitPage( startDestination = SheetRoutes.NearbyTransit, modifier = Modifier.background(MaterialTheme.colorScheme.surface).then(modifier), enterTransition = { - slideIntoContainer( - AnimatedContentTransitionScope.SlideDirection.Up, - animationSpec = tween(easing = EaseInOut) - ) + val initialStopId = this.initialState.arguments?.getString("stopId") + val targetStopId = this.targetState.arguments?.getString("stopId") + + // Skip animation if navigating within a single stop + if ( + initialStopId != null && targetStopId != null && initialStopId == targetStopId + ) { + EnterTransition.None + } else { + slideIntoContainer( + AnimatedContentTransitionScope.SlideDirection.Up, + animationSpec = tween(easing = EaseInOut) + ) + } } ) { composable(typeMap = navTypeMap) { backStackEntry ->