package Ġeu . ke vin . common . architecture Ċ Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroidx . view binding . View Binding Ċ Ċ abstract Ġclass ĠBase ListAdapter < T , ĠB Ġ: ĠView Binding >( ĊĠĠĠ Ġopen Ġvar Ġitems : ĠList < T > Ċ ) Ġ: ĠRecyclerView . Adapter < Base ListAdapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġclass ĠViewHolder ( val Ġbinding : ĠView Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) ĊĊĠĠĠ Ġabstract Ġfun Ġon Bind ViewHolder ( binding : ĠB , Ġitem : ĠT , Ġposition : ĠInt ) ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Bind ViewHolder ( holder . binding Ġas ĠB , Ġitems [ position ], Ġposition ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġitems . size ĊĊĠĠĠ Ġopen Ġfun Ġupdate Items ( items : ĠList < T >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . items Ġ== Ġitems ) Ġreturn ĊĠĠĠĠĠĠĠ Ġthis . items Ġ= Ġitems ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }