package Ġcom . example . mv vm av engers . utils Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . Relative Layout Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ /** Ċ Ġ* ĠHelper Ġclass Ġto Ġmanage ĠProgress Bar Ġstate Ċ Ġ*/ Ċ object ĠProgress Bar Helper Ġ{ ĊĠĠĠ Ġprivate Ġvar ĠprogressBar : ĠWeak Reference < ProgressBar >? Ġ= Ġnull ĊĊĠĠĠ Ġfun ĠprogressBar Handler ( context : ĠContext ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlayout Ġ= Ġ( context Ġas ĠActivity ). findViewById < View >( android . R . id . content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. root View Ġas ĠViewGroup ĊĊĠĠĠĠĠĠĠ ĠprogressBar Ġ= ĠWeak Reference ( ProgressBar ( context , Ġnull , Ġandroid . R . attr . progress Bar Style Large )) ĊĠĠĠĠĠĠĠ ĠprogressBar ?. get ()?. isIn determinate Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠRelative Layout . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelative Layout . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelative Layout . LayoutParams . MATCH _ PARENT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrelative Layout Ġ= ĠRelative Layout ( context ) ĊĊĠĠĠĠĠĠĠ Ġrelative Layout . gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġrelative Layout . addView ( progress Bar ?. get ()) ĊĊĠĠĠĠĠĠĠ Ġlayout . addView ( relative Layout , Ġparams ) ĊĊĠĠĠĠĠĠĠ Ġhide () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar ?. get ()?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhide () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar ?. get ()?. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠ Ġ} Ċ }