package Ġcom . luc ian bc . receipt scan . presentation . home . receipt s Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . luc ian bc . receipt scan . R Ċ import Ġcom . luc ian bc . receipt scan . domain . receipt s . S pending Group Ċ import Ġcom . luc ian bc . receipt scan . presentation . displayName Ċ import Ġcom . luc ian bc . receipt scan . presentation . icon Ċ import Ġcom . luc ian bc . receipt scan . util . show Ċ import Ġkotlinx . android . synt hetic . main . home _ category _ layout . view .* Ċ Ċ class ĠCategories Adapter Ġ: ĠList Adapter < S pending Group , ĠCategories Adapter . Holder >( Diff ()) Ġ{ ĊĠĠĠ Ġfun ĠgetItem At ( position : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ ĠgetItem ( position ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ ĠLayoutInflater ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . home _ category _ layout , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let (:: Holder ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠH older , Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ ĠgetItem ( position ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠH older ( val Ġview : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġitem : ĠS pending Group ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . category Item Image . setImage Resource ( it . icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . category ItemName . text Ġ= Ġit . displayName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . category Item Currency . text Ġ= Ġit . currency . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . category Item Sum . text Ġ= Ġit . total . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠDiff Ġ: ĠDiff Util . Item Callback < S pending Group >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠS pending Group , Ġnew Item : ĠS pending Group ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠS pending Group , Ġnew Item : ĠS pending Group ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĠĠĠ Ġ} Ċ }