package Ġio . github . br ad pat ras . br c _ android _ demo Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġio . github . br ad pat ras . basic remote configs . Basic Remote Configs Ċ import Ġio . github . br ad pat ras . br c _ android _ demo . databinding . Activity Main Binding Ċ import Ġkotlinx . coroutines .* Ċ import Ġjava . net . URL Ċ Ċ private Ġconst Ġval ĠCONFIG _ URL Ġ= Ġ" https :// github . com / B rad Pat ras / basic - remote - configs / raw / main / examples / simple . json " Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġb rc : ĠBasic Remote Configs Ġ= ĠBasic Remote Configs ( URL ( CONFIG _ URL )) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġbinding . fetch Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate UI ( null , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Configs () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġget Configs () Ġ= Ġcoroutine Scope Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb rc . fetch Configs () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate UI ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb rc . values . map Ġ{ Ġ"${ it . key }: Ġ${ it . value }" Ġ}. join ToString ( separator Ġ= Ġ", \ n "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( error : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate UI (" Encounter ed Ġan Ġerror Ġwhen Ġfetching Ġconfigs ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate UI ( new Text : ĠString ?, ĠisLoading : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . center Tv . text Ġ= Ġnew Text ĊĠĠĠĠĠĠĠ Ġbinding . progress Bar . visibility Ġ= Ġif Ġ( isLoading ) ĠView . VISIBLE Ġelse ĠView . IN VISIBLE ĊĠĠĠ Ġ} Ċ }