package Ġcom . example . ar ken . util Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . ar ken . R Ċ import Ġcom . example . ar ken . model . invest ment . Transaction History Ċ import Ġcom . example . ar ken . model . invest ment . enums . Type Ċ import Ġjava . math . Round ingMode Ċ Ċ class ĠTransaction Adapter () Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Transaction Adapter . Transaction Holder >() Ġ{ ĊĠĠĠ Ġvar ĠdataSet : ĠMutable List < Transaction History > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġclass ĠTransaction Holder ( v : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( v ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtransaction Text : ĠTextView ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrate : ĠTextView ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdate : ĠTextView ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġprofit : ĠTextView ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Text Ġ= Ġv . findViewById ( R . id . invest ment _ row _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrate Ġ= Ġv . findViewById ( R . id . invest ment _ row _ from _ rate ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġv . findViewById ( R . id . invest ment _ row _ date ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprofit Ġ= Ġv . findViewById ( R . id . invest ment _ row _ profit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( transaction History : ĠTransaction History ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Text . text Ġ= Ġtransaction History . text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( transaction History . type Ġ!= ĠType . DE POSIT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrate . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" When Ġ${ transaction History . currency }/ EUR Ġwas Ġ${ transaction History . from Rate }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrate . visibility = View . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofit . visibility = View . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate . text Ġ= Ġ" At Ġ" Ġ+ Ġtransaction History . date . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( transaction History . type Ġ!= ĠType . DE POSIT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofit . text Ġ= Ġ" Profit : Ġ" Ġ+ Ġtransaction History . profit . to BigDecimal (). set Scale ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRound ingMode . HALF _ UP ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( view Group : ĠViewGroup , Ġview Type : ĠInt ): ĠTransaction Holder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( view Group . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . invest ment _ row , Ġview Group , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠTransaction Holder ( v ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder : ĠTransaction Holder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Element Ġ$ position Ġset .") ĊĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= ĠdataSet [ position ] ĊĠĠĠĠĠĠĠ ĠviewHolder . bind ( transaction ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= ĠdataSet . size ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Custom Adapter " ĊĠĠĠ Ġ} Ċ }