package Ġil . co . n apps . remote logger Ċ Ċ import Ġkotlinx . coroutines .* Ċ import Ġplatform . darwin .* Ċ import Ġkotlin . coroutines . Coroutine Context Ċ Ċ internal Ġactual Ġfun Ġdispatcher (): ĠCor outine Dispatcher Ġ= ĠUI Ċ Ċ @ Use Experimental ( Internal Cor outines Api :: class ) Ċ private Ġobject ĠUI Ġ: ĠCor outine Dispatcher (), ĠDelay Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġdispatch ( context : ĠCor outine Context , Ġblock : ĠRunnable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġqueue Ġ= Ġdispatch _ get _ main _ queue () ĊĠĠĠĠĠĠĠ Ġdispatch _ async ( queue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock . run () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġschedule Resume After Delay ( time Millis : ĠLong , Ġcontinuation : ĠC ancellable Continuation < Unit >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġqueue Ġ= Ġdispatch _ get _ main _ queue () ĊĊĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġdispatch _ time ( DISPATCH _ TIME _ NOW , Ġ( time Millis Ġ* ĠN SEC _ PER _ M SEC . to Long ())) ĊĠĠĠĠĠĠĠ Ġdispatch _ after ( time , Ġqueue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( continu ation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresume Un dis patched ( Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }