package Ġcom . waves platform . wallet . v 2 . ui . home . wallet . assets Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġcom . ch ad . library . adapter . base . Base Multi Item Quick Adapter Ċ import Ġcom . ch ad . library . adapter . base . Base ViewHolder Ċ import Ġcom . ch ad . library . adapter . base . entity . Multi Item Entity Ċ import Ġcom . o ush ang f eng . pinned section item decoration . utils . Full Span Util Ċ import Ġcom . waves platform . wallet . App Ċ import Ġcom . waves platform . wallet . R Ċ import Ġcom . waves platform . wallet . v 2 . data . model . local . Wallet Section Item Ċ import Ġcom . waves platform . wallet . v 2 . data . model . remote . response . Asset Balance Ċ import Ġcom . waves platform . wallet . v 2 . util . getS ca led Amount Ċ import Ġcom . waves platform . wallet . v 2 . util . makeText Half Bold Ċ import Ġcom . waves platform . wallet . v 2 . util . set Margins Ċ import Ġkotlinx . android . synt hetic . main . wallet _ asset _ item . view .* Ċ import Ġkotlinx . android . synt hetic . main . wallet _ header _ item . view .* Ċ import Ġpers . v ictor . ext . click Ċ import Ġpers . v ictor . ext . dp 2 px Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠAssets Adapter Ġ@ Inject Ġconstructor () Ġ: ĊĠĠĠĠĠĠĠ ĠBase Multi Item Quick Adapter < Multi Item Entity , ĠBase ViewHolder >( null ) Ġ{ ĊĊĠĠĠ Ġvar Ġscroll To Header Listener : ĠScroll To Header Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTYPE _ HEADER Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval ĠTYPE _ AS SET Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval ĠTYPE _ HIDDEN _ AS SET Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġval ĠTYPE _ SP AM _ AS SET Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ItemType ( TYPE _ HEADER , ĠR . layout . wallet _ header _ item ) ĊĠĠĠĠĠĠĠ Ġadd ItemType ( TYPE _ AS SET , ĠR . layout . wallet _ asset _ item ) ĊĠĠĠĠĠĠĠ Ġadd ItemType ( TYPE _ HIDDEN _ AS SET , ĠR . layout . wallet _ asset _ item ) ĊĠĠĠĠĠĠĠ Ġadd ItemType ( TYPE _ SP AM _ AS SET , ĠR . layout . wallet _ asset _ item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To RecyclerView ( re cyclerView : ĠRecyclerView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attached To RecyclerView ( re cyclerView ) ĊĠĠĠĠĠĠĠ ĠFull Span Util . on Attached To RecyclerView ( re cyclerView , Ġthis , ĠTYPE _ HEADER ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Attached To Window ( holder : ĠBase ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Attached To Window ( holder ) ĊĠĠĠĠĠĠĠ ĠFull Span Util . on View Attached To Window ( holder , Ġthis , ĠTYPE _ HEADER ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( helper : ĠBase ViewHolder , Ġitem : ĠMulti Item Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( helper . item ViewType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ HEADER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitem Ġas ĠWallet Section Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . text _ header , Ġitem . header ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . is Expanded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . image _ arrow . rotation Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . image _ arrow . rotation Ġ= Ġ 1 8 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . click Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpos Ġ= Ġhelper . adapter Position ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . is Expanded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollapse ( pos , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand ( pos , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Header Listener ?. scrollTo Header ( helper . adapter Position , Ġhelper . item View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ AS SET , ĠTYPE _ HIDDEN _ AS SET , ĠTYPE _ SP AM _ AS SET Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data [ helper . adapter Position Ġ+ Ġ 1 ]. item Type Ġ== ĠTYPE _ HEADER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . card _ asset . set Margins ( bottom Ġ= Ġdp 2 px ( 1 8 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . card _ asset . set Margins ( bottom Ġ= Ġdp 2 px ( 6 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . card _ asset . set Margins ( bottom Ġ= Ġdp 2 px ( 6 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitem Ġas ĠAsset Balance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . text _ asset _ name , Ġitem . getName ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setText ( R . id . text _ asset _ value , Ġget Scaled Amount ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . get Available Balance () Ġ?: Ġ 0 L , Ġitem . get Decimal s ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set G one ( R . id . image _ fav our ite , Ġitem . is Favorite ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set G one ( R . id . text _ my _ asset , Ġitem . issue Transaction ?. sender ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ== ĠApp . get Access Manager (). get Wallet ()?. address ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set G one ( R . id . text _ tag _ spam , Ġitem . is Sp am ) Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . image _ asset _ icon . is O val Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . image _ asset _ icon . set Asset ( item ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . item View . text _ asset _ value . makeText Half Bold () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠScroll To Header Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġscroll To Header ( position : ĠInt , ĠitemView : ĠView ) ĊĠĠĠ Ġ} Ċ } Ċ