package Ġcom . reg is corp . my application . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . reg is corp . my application . databinding . ListItem Binding Ċ import Ġcom . reg is corp . my application . model . Commit Data ĊĊ Ċ class ĠItem Adapter Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Item Adapter . My ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm List Ġ= Ġmutable ListOf < Commit Data >() ĊĊĠĠĠ Ġfun Ġupdate List ( list : ĠList < Commit Data >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm List . clear () ĊĠĠĠĠĠĠĠ Ġm List . addAll ( list ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMy ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠListItem Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMy ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMy ViewHolder , Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġholder . bind ( m List [ position ]) ĊĊĠĠĠ Ġinner Ġclass ĠMy ViewHolder ( private Ġval Ġbinding : ĠListItem Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( item : ĠCommit Data ) Ġ= Ġwith ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . author TextView . text Ġ= Ġitem . commit . author . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . commit Hash TextView . text Ġ= Ġitem . sha ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . commit Message TextView . text Ġ= Ġitem . commit . message ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }