package Ġru . gb ix ah ue . eu 4 d . android . global . singleton . thread Handler Ċ Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Handler Thread Ċ import Ġandroid . os . Looper Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠAnt on ĠZ hil enk ov Ġon Ġ 2 0 . 0 8 . 1 8 . Ċ Ġ*/ Ċ Ċ class ĠThread Handler Ġ{ ĊĠ Ġval Ġui : ĠHandler Ġ= ĠHandler ( Looper . get Main Looper ()) ĊĠ Ġval Ġbackground : ĠHandler Ġ= ĠHandler ( Handler Thread (" Application Ġworker Ġthread "). apply Ġ{ Ġstart () Ġ}. lo oper ) ĊĊĠ Ġfun Ġpost In Current Thread ( ms Time : ĠLong , Ġfunc : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġpost ( Handler (), Ġms Time , Ġfunc ) ĊĠ Ġ} Ċ } Ċ Ċ internal Ġclass ĠLazy Instance Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval Ġhandler : ĠThread Handler Ġby Ġlazy Ġ{ ĠThread Handler () Ġ} ĊĠ Ġ} Ċ } Ċ Ċ fun Ġpost ( ms Time : ĠLong , Ġfunc : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠ ĠLazy Instance . handler . post In Current Thread ( ms Time , Ġfunc ) Ċ } Ċ Ċ fun Ġpost UI ( ms Time : ĠLong Ġ= Ġ 0 , Ġfunc : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠ Ġpost ( Lazy Instance . handler . ui , Ġms Time , Ġfunc ) Ċ } Ċ Ċ fun Ġpost Work ( ms Time : ĠLong Ġ= Ġ 0 , Ġfunc : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠ Ġpost ( Lazy Instance . handler . background , Ġms Time , Ġfunc ) Ċ } Ċ Ċ internal Ġfun Ġpost ( handler : ĠHandler , Ġms Time : ĠLong , Ġfunc : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠ Ġwhen Ġ{ ĊĠĠĠ Ġms Time Ġ<= Ġ 0 Ġ-> Ġhandler . post Ġ{ Ġfunc () Ġ} ĊĠĠĠ Ġms Time Ġ> Ġ 0 Ġ-> Ġhandler . post Delayed ({ Ġfunc () Ġ}, Ġms Time ) ĊĠ Ġ} Ċ }