package Ġcom . money tree . app . ui . wallet s . transaction Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . money tree . app . R Ċ import Ġcom . money tree . app . common . NS Constants Ċ import Ġcom . money tree . app . common . callbacks . NS Page Change Callback Ċ import Ġcom . money tree . app . common . utils . add Text Ċ import Ġcom . money tree . app . common . utils . isValid List Ċ import Ġcom . money tree . app . databinding . Layout Transaction Binding Ċ import Ġcom . money tree . app . repository . network . responses . NS V oucher List Data Ċ import Ġcom . money tree . app . repository . network . responses . NS Wallet Data Ċ Ċ class ĠN ST rans action Re cycle Adapter ( ĊĠĠĠ Ġactivity NS : ĠActivity , ĊĠĠĠ Ġon Page Change : ĠNS Page Change Callback Ċ ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġactivity : ĠActivity Ġ= Ġactivity NS ĊĠĠĠ Ġprivate Ġval Ġtransaction Data : ĠMutable List < NS Wallet Data > Ġ= Ġarray ListOf () ĊĠĠĠ Ġprivate Ġval Ġon Page Change Callback : ĠNS Page Change Callback Ġ= Ġon Page Change ĊĊĠĠĠ Ġfun Ġupdate Data ( transaction List : ĠMutable List < NS Wallet Data >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtransaction Data . addAll ( transaction List ) ĊĠĠĠĠĠĠĠ Ġif Ġ( transaction List . isValid List ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Range Changed ( 0 , Ġtransaction Data . size Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġtransaction Data . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayout Transaction Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠNS ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder Rec : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( holder Rec Ġis ĠNS ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġholder : ĠNS ViewHolder Ġ= Ġholder Rec ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( transaction Data [ holder . absolute Adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġtransaction Data . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ((( position Ġ+ Ġ 1 ) Ġ% ĠNS Constants . P AG INATION ) Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Page Change Callback . on Page Change () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtransaction Data . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġview Ġholder Ġfor Ġtransaction Ġlist ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ property Ġtransaction Binding ĠThe Ġtransaction Ġlist Ġview Ġbinding ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinner Ġclass ĠNS ViewHolder ( private Ġval Ġtransaction Binding : ĠLayout Transaction Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( transaction Binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠTo Ġbind Ġthe Ġv oucher Ġdetails Ġview Ġinto ĠRe cycler Ġview Ġwith Ġgiven Ġdata ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġresponse ĠThe Ġv oucher Ġdetails ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( response : ĠNS Wallet Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( transaction Binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Transaction Id . text Ġ= Ġadd Text ( activity , ĠR . string . transaction _ id , Ġtransfer id !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Transaction Status . text Ġ= Ġstatus !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Order Credit . text Ġ= Ġentry Type !!. trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Date . text Ġ= Ġentry Date ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Credit Price . text Ġ= Ġamount !!. trim () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Credit Check Ġ= Ġentry Type !!. lowercase () Ġ== Ġ" credit " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Order Credit . setTextColor ( if ( is Credit Check ) ĠColor . parse Color ("# 0 F CE 6 E ") Ġelse ĠColor . parse Color ("# E 7 4 B 3 C ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Credit Price . setTextColor ( if ( is Credit Check ) ĠColor . parse Color ("# 0 F CE 6 E ") Ġelse ĠColor . parse Color ("# E 7 4 B 3 C ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }