/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . compose . animation . core Ċ Ċ import Ġandroidx . compose . runtime . with Frame Millis Ċ import Ġandroidx . compose . runtime . with Frame Nan os Ċ import Ġandroidx . compose . ui . platform . Infinite Animation Policy Ċ import Ġkotlin . coroutines . Coroutine Context Ċ import Ġkotlin . coroutines . coroutine Context Ċ /** Ċ Ġ* ĠLike Ġ[ with Frame Nan os ], Ġbut Ġapplies Ġthe Ġ[ Infinite Animation Policy ] Ġfrom Ġthe Ġcalling Ċ Ġ* Ġ[ Coroutine Context ] Ġif Ġthere Ġis Ġone . Ċ Ġ*/ Ċ suspend Ġfun Ġ< R > Ġwith Infinite AnimationFrame Nan os ( on Frame : Ġ( frame Time Nan os : ĠLong ) Ġ-> ĠR ): ĠR Ġ= ĊĠĠĠ Ġwhen Ġ( val Ġpolicy Ġ= Ġcoroutine Context [ Infinite Animation Policy ]) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull Ġ-> Ġwith Frame Nan os ( on Frame ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġpolicy . on Infinite Operation Ġ{ Ġwith Frame Nan os ( on Frame ) Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠLike Ġ[ with Frame Millis ], Ġbut Ġapplies Ġthe Ġ[ Infinite Animation Policy ] Ġfrom Ġthe Ġcalling Ċ Ġ* Ġ[ Coroutine Context ] Ġif Ġthere Ġis Ġone . Ċ Ġ*/ Ċ @ Suppress (" Un necessary Lambda Creation ") Ċ suspend Ġinline Ġfun Ġ< R > Ġwith Infinite AnimationFrame Millis ( ĊĠĠĠ Ġcross inline Ġon Frame : Ġ( frame Time Millis : ĠLong ) Ġ-> ĠR Ċ ): ĠR Ġ= Ġwith Infinite AnimationFrame Nan os Ġ{ Ġon Frame ( it Ġ/ Ġ 1 _ 0 0 0 _ 0 0 0 L ) Ġ} Ċ