Loading mechanics/src/com/android/mechanics/spec/builder/MotionSpecBuilderImpl.kt +1 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,7 @@ internal class MotionSpecBuilderImpl( maxLimitKey = key maxLimitSpring = spring maxLimitGuarantee = guarantee maxLimitSemantics = emptyList() } applyEffect(lastDefinition) Loading mechanics/tests/src/com/android/mechanics/spec/builder/MotionSpecBuilderTest.kt +28 −0 Original line number Diff line number Diff line Loading @@ -437,4 +437,32 @@ class MotionSpecBuilderTest : MotionBuilderContext by FakeMotionSpecBuilderConte .containsExactly("initial", "initial", "second", "second") .inOrder() } @Test fun effect_modifyMaxLimitSemantics() { val semanticKey = SemanticKey<String>("foo") val effect = object : Effect { override fun EffectApplyScope.createSpec() { unidirectional( Mapping.One, semantics = listOf(SemanticValue(semanticKey, "initial")), ) maxLimitSemantics = listOf(SemanticValue(semanticKey, "maxLimit")) } } val result = motionSpec(baseMapping = Mapping.Zero, defaultSpring = spatial.default) { val effect1 = between(1f, 2f, effect) after(effect1, FixedValue(2f)) } assertThat(result) .maxDirection() .semantics() .withKey(semanticKey) .containsExactly("initial", "initial", "maxLimit") .inOrder() } } Loading
mechanics/src/com/android/mechanics/spec/builder/MotionSpecBuilderImpl.kt +1 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,7 @@ internal class MotionSpecBuilderImpl( maxLimitKey = key maxLimitSpring = spring maxLimitGuarantee = guarantee maxLimitSemantics = emptyList() } applyEffect(lastDefinition) Loading
mechanics/tests/src/com/android/mechanics/spec/builder/MotionSpecBuilderTest.kt +28 −0 Original line number Diff line number Diff line Loading @@ -437,4 +437,32 @@ class MotionSpecBuilderTest : MotionBuilderContext by FakeMotionSpecBuilderConte .containsExactly("initial", "initial", "second", "second") .inOrder() } @Test fun effect_modifyMaxLimitSemantics() { val semanticKey = SemanticKey<String>("foo") val effect = object : Effect { override fun EffectApplyScope.createSpec() { unidirectional( Mapping.One, semantics = listOf(SemanticValue(semanticKey, "initial")), ) maxLimitSemantics = listOf(SemanticValue(semanticKey, "maxLimit")) } } val result = motionSpec(baseMapping = Mapping.Zero, defaultSpring = spatial.default) { val effect1 = between(1f, 2f, effect) after(effect1, FixedValue(2f)) } assertThat(result) .maxDirection() .semantics() .withKey(semanticKey) .containsExactly("initial", "initial", "maxLimit") .inOrder() } }