package Ġcom . del ac rix m organ . wishlist . android . ui . history Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . del ac rix m organ . wishlist . android . R Ċ import Ġcom . del ac rix m organ . wishlist . android . common . format Date Ċ import Ġcom . del ac rix m organ . wishlist . android . common . money Format Ċ import Ġcom . del ac rix m organ . wishlist . android . data . model . Transaction Ċ import Ġkotlinx . android . synt hetic . main . cell _ history _ detail . view .* Ċ Ċ class ĠHistory RecyclerView Adapter ( val Ġlistener : ĠListener ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < History RecyclerView Adapter . Transaction ViewHolder >() Ġ{ ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Transaction Selected ( transaction : ĠTransaction ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġtransactions : ĠMutable List < Transaction > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġold List Ġ= Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdiff Result Ġ= ĠDiff Util . calculate Diff ( object Ġ: ĠDiff Util . Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item Position : ĠInt , Ġnew Item Position : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold List [ old Item Position ]. uuid Ġ== Ġvalue [ new Item Position ]. uuid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Position : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item Position : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ= Ġold List [ old Item Position ] Ġ== Ġvalue [ new Item Position ] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Old List Size () Ġ= Ġold List . size ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget New List Size () Ġ= Ġvalue . size ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Change Payload ( old Item Position : ĠInt , Ġnew Item Position : ĠInt ) Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdiff Result . dispatch Updates To ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠTransaction ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTransaction ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . cell _ history _ detail , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠTransaction ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( transactions [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġtransactions . size ĊĊĠĠĠ Ġinner Ġclass ĠTransaction ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( transaction : ĠTransaction ) Ġ= Ġwith ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription TextView . text Ġ= Ġtransaction . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate TextView . text Ġ= Ġtransaction . createdAt . format Date () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprice TextView . text Ġ= Ġtransaction . amount Transaction . money Format () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Transaction Selected ( transaction ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }