@ file : Jvm Name (" Rich Utils ") Ċ @ file : Jvm Mult if ile Class Ċ Ċ package Ġcom . to an _ it c . core . rich utils Ċ Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġcom . to an _ it c . core . rich utils . impl . F 0 Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠUI ĠThread Ċ Ġ* Ċ Ġ* Ġ@ param [ action ] Ġcode Ġto Ġexecute Ċ Ġ*/ Ċ fun Ġrun On Ui Thread ( action : Ġ() Ġ-> ĠUnit ) Ġ= ĠHandler ( Looper . get Main Looper ()). post ( Runnable ( action )) Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠUI ĠThread Ċ Ġ* Ċ Ġ* Ġ@ param [ action ] Ġcode Ġto Ġexecute Ċ Ġ*/ Ċ fun Ġrun On Ui Thread ( action : ĠF 0 ) Ġ= ĠHandler ( Looper . get Main Looper ()). post ({ Ġaction . invoke () Ġ}) Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠBackground ĠThread Ġafter Ġgiven Ġdelay Ċ Ġ* Ċ Ġ* Ġ@ param [ delay Millis ] Ġdelay Ġin Ġms Ċ Ġ* Ġ@ param [ action ] Ġcode Ġto Ġexecute Ċ Ġ*/ Ċ fun Ġrun Delayed ( action : Ġ() Ġ-> ĠUnit , Ġdelay Millis : ĠLong ) Ġ= ĠHandler (). post Delayed ( Runnable ( action ), Ġdelay Millis ) Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠBackground ĠThread Ġafter Ġgiven Ġdelay Ċ Ġ* Ċ Ġ* Ġ@ param [ delay Millis ] Ġdelay Ġin Ġms Ċ Ġ* Ġ@ param [ action ] Ġcode Ġto Ġexecute Ċ Ġ*/ Ċ fun Ġrun Delayed ( action : ĠF 0 , Ġdelay Millis : ĠLong ) Ġ= ĠHandler (). post Delayed ({ Ġaction . invoke () Ġ}, Ġdelay Millis ) Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠUI ĠThread Ġafter Ġgiven Ġdelay Ċ Ġ* Ċ Ġ* Ġ@ param [ delay Millis ] Ġdelay Ġin Ġms Ċ Ġ* Ġ@ param [ action ] Ġcode Ġto Ġexecute Ċ Ġ*/ Ċ fun Ġrun Delayed On Ui Thread ( action : Ġ() Ġ-> ĠUnit , Ġdelay Millis : ĠLong ) Ġ= ĠHandler ( Looper . get Main Looper ()). post Delayed ( Runnable ( action ), Ġdelay Millis ) Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠUI ĠThread Ġafter Ġgiven Ġdelay Ċ Ġ* Ċ Ġ* Ġ@ param [ delay Millis ] Ġdelay Ġin Ġms Ċ Ġ* Ġ@ param [ action ] Ġcode Ġto Ġexecute Ċ Ġ*/ Ċ fun Ġrun Delayed On Ui Thread ( action : ĠF 0 , Ġdelay Millis : ĠLong ) Ġ= ĠHandler ( Looper . get Main Looper ()). post Delayed ({ Ġaction . invoke () Ġ}, Ġdelay Millis ) Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠBackground Ġthread Ġwith Ġcustom Ġpool Ġsize Ċ Ġ* Ġthis Ġwill Ġhelp Ġin Ġmulti - threading Ġworking Ċ Ġ*/ Ċ fun Ġrun Async ( action : Ġ() Ġ-> ĠUnit , Ġpool Size : ĠInt Ġ= ĠR Async . instance . setting PoolSize ) Ġ{ ĊĠĠĠ ĠR Async . instance . execute ( action , Ġpool Size ) Ċ } Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠBackground Ġthread Ġwith Ġcustom Ġpool Ġsize Ċ Ġ* Ġthis Ġwill Ġhelp Ġin Ġmulti - threading Ġworking Ċ Ġ*/ Ċ fun Ġrun Async ( action : ĠF 0 , Ġpool Size : ĠInt Ġ= ĠR Async . instance . setting PoolSize ) Ġ{ ĊĠĠĠ ĠR Async . instance . execute ({ action . invoke ()}, Ġpool Size ) Ċ } Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠBackground Ġthread Ġwith Ġdefault Ġpool Ġsize Ċ Ġ* Ġthis Ġwill Ġhelp Ġin Ġmulti - threading Ġworking Ċ Ġ*/ Ċ fun Ġrun Async ( action : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠR Async . instance . execute ( action , ĠR Async . instance . setting PoolSize ) Ċ } Ċ Ċ /** Ċ Ġ* Ġrun Ġcode Ġinside Ġof ĠBackground Ġthread Ġwith Ġdefault Ġpool Ġsize Ċ Ġ* Ġthis Ġwill Ġhelp Ġin Ġmulti - threading Ġworking Ċ Ġ*/ Ċ fun Ġrun Async ( action : ĠF 0 ) Ġ{ ĊĠĠĠ ĠR Async . instance . execute ({ action . invoke ()}, ĠR Async . instance . setting PoolSize ) Ċ } ĊĊ