From b363f5f10f0975a6c2f79cfadbc29f9b7b3f66ea Mon Sep 17 00:00:00 2001 From: Nishant Mishra Date: Thu, 23 Oct 2025 21:09:02 +0530 Subject: [PATCH] feat(ui): make predictive back animation more subtle --- .../java/org/nsh07/pomodoro/ui/AppScreen.kt | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/org/nsh07/pomodoro/ui/AppScreen.kt b/app/src/main/java/org/nsh07/pomodoro/ui/AppScreen.kt index 6d1123e..4d95b23 100644 --- a/app/src/main/java/org/nsh07/pomodoro/ui/AppScreen.kt +++ b/app/src/main/java/org/nsh07/pomodoro/ui/AppScreen.kt @@ -19,12 +19,11 @@ package org.nsh07.pomodoro.ui import android.content.Intent import androidx.compose.animation.AnimatedVisibility -import androidx.compose.animation.ContentTransform import androidx.compose.animation.Crossfade import androidx.compose.animation.SharedTransitionLayout import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut -import androidx.compose.animation.scaleOut +import androidx.compose.animation.togetherWith import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.calculateEndPadding import androidx.compose.foundation.layout.calculateStartPadding @@ -142,23 +141,16 @@ fun AppScreen( backStack = backStack, onBack = backStack::removeLastOrNull, transitionSpec = { - ContentTransform( - fadeIn(motionScheme.defaultEffectsSpec()), - fadeOut(motionScheme.defaultEffectsSpec()) - ) + fadeIn(motionScheme.defaultEffectsSpec()) + .togetherWith(fadeOut(motionScheme.defaultEffectsSpec())) }, popTransitionSpec = { - ContentTransform( - fadeIn(motionScheme.defaultEffectsSpec()), - fadeOut(motionScheme.defaultEffectsSpec()) - ) + fadeIn(motionScheme.defaultEffectsSpec()) + .togetherWith(fadeOut(motionScheme.defaultEffectsSpec())) }, predictivePopTransitionSpec = { - ContentTransform( - fadeIn(motionScheme.defaultEffectsSpec()), - fadeOut(motionScheme.defaultEffectsSpec()) + - scaleOut(targetScale = 0.7f), - ) + fadeIn(motionScheme.defaultEffectsSpec()) + .togetherWith(fadeOut(motionScheme.defaultEffectsSpec())) }, entryProvider = entryProvider { entry {