package Ġcom . soft art ch _ lib . component . fragment Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . soft art ch _ lib . R Ċ import Ġcom . soft art ch _ lib . component . dialogs . Cust ome Progress Dialog Ċ import Ġkotlinx . android . synt hetic . main . fragment _ base .* Ċ import Ġkotlinx . android . synt hetic . main . loading .* Ċ import Ġkotlinx . android . synt hetic . main . place _ holder _ layout .* Ċ import Ġorg . k oin . standalone . K oin Component Ċ Ċ abstract Ġclass ĠBase Fragment Ġ: ĠFragment (), K oin Component Ġ{ ĊĊĠĠĠ Ġ@ Layout Res ĊĠĠĠ Ġabstract Ġfun Ġlayout Resource (): ĠInt ĊĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġcontent View : ĠView ĊĠĠĠ Ġlateinit Ġvar Ġprogress Dialog : ĠC ust ome Progress Dialog ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater . inflate ( R . layout . fragment _ base , Ġcontainer , Ġfalse ) ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( parent View : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( parent View , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĠĠĠĠĠĠĠ Ġprogress Dialog = ĠC ust ome Progress Dialog ( require Activity ()) ĊĠĠĠĠĠĠĠ Ġstub . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Resource Ġ= Ġlayout Resource () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On Inf late Listener Ġ{ Ġ_, Ġchild View Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent View Ġ= Ġchild View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon View In fl ated ( parent View , Ġchild View ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinf late () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon View In fl ated ( parent View : ĠView , Ġchild View : ĠView ) Ġ{ ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprotected Ġfun Ġhide Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( loading View != null ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" null Ġpointer Ġwhen Ġhide Ġprogress ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhide Error (){ ĊĠĠĠĠĠĠĠ Ġplace Holder Layout . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġshow Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġloading View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġhide Error () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġshow Error ( error : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Ġ Ġplace Holder Layout != null ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplace Holder Layout . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Place Holder Message . text Ġ= Ġerror ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġshow Progress Dialog (){ ĊĠĠĠĠĠĠĠ Ġprogress Dialog . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhide Progress Dialog (){ ĊĠĠĠĠĠĠĠ Ġprogress Dialog . dismiss () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġset Place Holder Res ourc (@ Drawable Res Ġplace Holder Res ourc : Int ){ ĊĠĠĠĠĠĠĠ Ġimg View Place Holder . visibility = View . VISIBLE ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg View Place Holder . setImage Drawable ( activity !!. get Drawable ( place Holder Res ourc )) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimg View Place Holder . setImage Drawable ( activity !!. resources . get Drawable ( place Holder Res ourc )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }