Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
After upgrading to kotlin 2.1.0 and bumping remaining dependencies, things seem to work as expected again. EDIT: My bad; was on the wrong branch. Those upgrades did NOT help.
Description
Coroutine scopes derived from a composition using the
rememberCoroutineScope()
andlaunchInComposition
APIs should have theRecomposer
'sMonotonicFrameClock
in theircoroutineContext
s. The absence of this causes jank in animations performed using thewithFrameNanos
API family as ordering of frame operations with regard to the recomposer loop are not guaranteed. This bug was masked by theCompositionCoroutineScope
receiver used bylaunchInComposition
implementing the frame clock interface and providing the correct one through that side channel.Install the correct frame clock into the
coroutineContext
and removeCompositionCoroutineScope
's interface implementation ofMonotonicFrameClock
.