diff options
author | 2024-11-18 15:29:03 +0100 | |
---|---|---|
committer | 2024-11-18 15:37:25 +0100 | |
commit | 8bd1ed8052f329f67bb9a6974d5341664bebaa09 (patch) | |
tree | 01dff8e1727969fa4ac2f34bf065ab1301160f0b | |
parent | 6a70258baa5914abb509c3ed89f2f4082e491407 (diff) |
Remove special case for replaced transitions
This CL removes a special case that was added to slim down the
STLState.currentTransitions when replacing a transition by another one.
This optimization was unnecessary and adds a mutation of
transitionStates where removed transitions were not logged as finished.
This premature optimization is not worth its cost given that it had
already caused a crash in the past that was fixed in ag/29881406.
Bug: 379281707
Test: atest PlatformComposeSceneTransitionLayoutTests
Flag: com.android.systemui.scene_container
Change-Id: Ide9fa14a9f1883b5a13ee792d84ef3a58a6923cc
2 files changed, 3 insertions, 8 deletions
diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutState.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutState.kt index b3fd097946d0..4bccac1e3ba0 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutState.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutState.kt @@ -430,14 +430,6 @@ internal class MutableSceneTransitionLayoutStateImpl( check(transitionStates.size == 1) check(transitionStates[0] is TransitionState.Idle) transitionStates = listOf(transition) - } else if (currentState == transition.replacedTransition) { - // Replace the transition. - transitionStates = - transitionStates.subList(0, transitionStates.lastIndex) + transition - - // Make sure it is removed from the finishedTransitions set if it was already - // finished. - finishedTransitions.remove(currentState) } else { // Append the new transition. transitionStates = transitionStates + transition diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/InterruptionHandlerTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/InterruptionHandlerTest.kt index b87cc5c88335..3622369b8ff9 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/InterruptionHandlerTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/InterruptionHandlerTest.kt @@ -132,6 +132,9 @@ class InterruptionHandlerTest { assertThat(state.currentTransitions) .comparingElementsUsing(FromToCurrentTriple) .containsExactly( + // Initial transition, A => B. + Triple(SceneA, SceneB, SceneB), + // Initial transition reversed, B back to A. Triple(SceneA, SceneB, SceneA), |