InfiniteAnimationPolicy
@JvmDefaultWithCompatibility
interface InfiniteAnimationPolicy : CoroutineContext.Element
Provides a policy that will be applied to animations that get their frame time from
withInfiniteAnimationFrameNanos
or
withInfiniteAnimationFrameMillis
This can be used to intervene in infinite animations to make them finite, for example by
cancelling such coroutines.
By default no policy is installed, except in instrumented tests that use
androidx.compose.ui.test.junit4.ComposeTestRule
.
Properties
override val key: CoroutineContext.Key<*>
Functions
suspend fun <R> onInfiniteOperation(block: suspend () -> R): R
Call this to apply the policy on the given suspending block
. Execution of the block is
determined by the policy implementation. For example, a test policy could decide not to run
the block, or trace its execution.
The block is intended to be part of and will therefore be treated as an infinite animation,
one that after returning from onInfiniteOperation
will call it again. If the block is not
part of an infinite animation, the policy will still be applied.