package Ġcom . norm . hex adecimal clock Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . util . Log Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . lang . ref . Weak Reference Ċ import Ġjava . util .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġmy Task : ĠMy Task ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ ĠLog . d (" MainActivity ", Ġ" Color Ġ= Ġ${ Utils . get Hex Time () }") ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġimprove Ġapp Ġperformance . ĊĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠĠĠĠĠ Ġval Ġtimer Ġ= Ġ ĠTimer () ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġobject Ġ: ĠTimer Task () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy Task Ġ= ĠMy Task ( this @ MainActivity ). execute ( Utils . get Hex Time ()) Ġas ĠMy Task ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtimer . schedule ( task , Ġ 0 , Ġ 1 0 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠLog . i (" MainActivity ", Ġ" AsyncTask Ġis Ġcanceled ") ĊĠĠĠĠĠĠĠ Ġmy Task . cancel ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Static Field Leak ") ĊĠĠĠ Ġinner Ġclass ĠMy Task ( ĊĠĠĠĠĠĠĠ Ġactivity : ĠMainActivity ĊĠĠĠ Ġ): ĠAsync Task < String , ĠVoid , ĠString >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġweak Reference : ĠWeak Reference < MainActivity > Ġ= ĠWeak Reference ( activity ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġparams [ 0 ] !! ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweak Reference . get () !!. main _ layout . set BackgroundColor ( Color . parse Color ( result )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweak Reference . get () !!. tv _ color _ hex . text Ġ= Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result !!. hex Is Light ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweak Reference . get () !!. tv _ color _ hex . setTextColor ( Color . parse Color ("# 0 0 0 0 0 0 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweak Reference . get () !!. tv _ color _ hex . setTextColor ( Color . parse Color ("# FFFFFF ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ