package Ġio . nova foundation . nova . feature _ assets . presentation . balance . list Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Concat Adapter Ċ import Ġco il . Image Loader Ċ import Ġdev . chr is ban es . in setter . apply In setter Ċ import Ġio . nova foundation . nova . feature _ assets . R Ċ import Ġio . nova foundation . nova . common . base . Base Fragment Ċ import Ġio . nova foundation . nova . common . di . Feature Utils Ċ import Ġio . nova foundation . nova . common . utils . hide Keyboard Ċ import Ġio . nova foundation . nova . common . view . shape . add R ipple Ċ import Ġio . nova foundation . nova . common . view . shape . get Rounded Corner Drawable Ċ import Ġio . nova foundation . nova . feature _ assets . di . Assets Feature Api Ċ import Ġio . nova foundation . nova . feature _ assets . di . Assets Feature Component Ċ import Ġio . nova foundation . nova . feature _ assets . presentation . balance . list . view . Asset Grouping Decoration Ċ import Ġio . nova foundation . nova . feature _ assets . presentation . balance . list . view . Assets Header Adapter Ċ import Ġio . nova foundation . nova . feature _ assets . presentation . balance . list . view . Balance ListAdapter Ċ import Ġio . nova foundation . nova . feature _ assets . presentation . model . Asset Model Ċ import Ġkotlinx . android . synt hetic . main . fragment _ balance _ list . balance List Assets Ċ import Ġkotlinx . android . synt hetic . main . fragment _ balance _ list . wallet Container Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠBalance List Fragment Ġ: ĊĠĠĠ ĠBase Fragment < Balance List ViewModel >(), ĊĠĠĠ ĠBalance ListAdapter . Item Asset Handler , ĊĠĠĠ ĠAssets Header Adapter . Handler Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġimage Loader : ĠImage Loader ĊĊĠĠĠ Ġprivate Ġval Ġassets Adapter Ġby Ġlazy ( Lazy Thread Safety Mode . NONE ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBalance ListAdapter ( image Loader , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġheader Adapter Ġby Ġlazy ( Lazy Thread Safety Mode . NONE ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAssets Header Adapter ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġby Ġlazy ( Lazy Thread Safety Mode . NONE ) Ġ{ ĊĠĠĠĠĠĠĠ ĠConcat Adapter ( header Adapter , Ġassets Adapter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?, ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ balance _ list , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġbalance List Assets . apply In setter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype ( status Bars Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpadding () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġhide Keyboard () ĊĊĠĠĠĠĠĠĠ Ġbalance List Assets . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġbalance List Assets . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġval Ġgroup Background Ġ= Ġwith ( require Context ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd R ipple ( get Rounded Corner Drawable ( R . color . blur Color )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= ĠAsset Grouping Decoration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Ġ= Ġgroup Background , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassets Adapter Ġ= Ġassets Adapter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġrequire Context (), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbalance List Assets . addItem Decoration ( decoration ) ĊĠĠĠĠĠĠĠ Ġ// Ġmodification Ġanimations Ġonly Ġharm Ġhere ĊĠĠĠĠĠĠĠ Ġbalance List Assets . item Animator Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġwallet Container . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . full Sync () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinject () Ġ{ ĊĠĠĠĠĠĠĠ ĠFeature Utils . get Feature < Assets Feature Component >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssets Feature Api :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. balance List Component Factory () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe ( viewModel : ĠBalance List ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . assets Flow . observe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassets Adapter . submit List ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbalance List Assets . invalidate Item Decor ations () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . total Balance Flow . observe ( header Adapter :: set Total Balance ) ĊĠĠĠĠĠĠĠ ĠviewModel . current Address Model Flow . observe ( header Adapter :: set Address ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . nft Count Flow . observe ( header Adapter :: set N ft Count Label ) ĊĠĠĠĠĠĠĠ ĠviewModel . nft Pre views Ui . observe ( header Adapter :: set N ft Pre views ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . hide Refresh Event . observe Event Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwallet Container . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġasset Clicked ( asset : ĠAsset Model ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . asset Clicked ( asset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmanage Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . manage Clicked () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġavatar Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . avatar Clicked () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġgo To N fts Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . goTo N fts Clicked () ĊĠĠĠ Ġ} Ċ } Ċ