package Ġcom . re vol gen x . an ilib . ui . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroidx . swiper ef resh layout . widget . Circular Progress Drawable Ċ import Ġcom . pr an av pan de y . android . dynamic . support . widget . Dynamic ImageView ĊĊ Ċ class ĠDynamic Loading ImageView ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattribute Set : ĠAttributeSet ?, ĊĠĠĠ Ġdef Style : ĠInt Ċ ) Ġ: ĠDynamic ImageView ( context , Ġattribute Set , Ġdef Style ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġandroid Schemas Ġ= Ġ" http :// schemas . android . com / apk / res / android " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġcircular Progress Drawable Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠCircular Progress Drawable ( context ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġsrc Id Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġloading : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġthis ( context , Ġnull ) ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattribute Set : ĠAttributeSet ?) Ġ: Ġthis ( context , Ġattribute Set , Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsrc Id Ġ= Ġattribute Set ?. getAttribute Resource Value ( android Schemas , Ġ" src ", Ġ- 1 ) Ġ?: Ġsrc Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Image Resource ( res Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . src Id Ġ= Ġres Id ĊĠĠĠĠĠĠĠ Ġsuper . setImage Resource ( res Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Loading ( b : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( b ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Drawable ( circular Progress Drawable ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Resource ( src Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtoggle Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( loading ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Resource ( src Id ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Drawable ( circular Progress Drawable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġloading Ġ= Ġ! loading ĊĠĠĠ Ġ} Ċ Ċ }