package Ġcom . ok an ay din . assignment . features . details . ui Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ok an ay din . assignment . data . remote . datasource . model . Comment Model Ċ import Ġcom . ok an ay din . assignment . com . databinding . Item Comment Binding Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠList Adapter Ġis Ġa Ġconvenience Ġwrapper Ġaround ĠAsync List Differ Ġthat Ġimplements Ċ Ġ* ĠAdapter Ġcommon Ġdefault Ġbehavior Ġfor Ġitem Ġaccess Ġand Ġcounting . Ċ Ġ* Ġref : Ġhttps :// developer . android . com / reference / android x / recyclerview / widget / ListAdapter Ċ Ġ*/ Ċ Ċ class ĠComments Adapter Ġ@ Inject Ġconstructor () Ġ: ĊĠĠĠ ĠList Adapter < Comment Model , ĠComments Adapter . Comment ViewHolder >( Comments Diff Util ()) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠComment ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠItem Comment Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠComment ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠComment ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠComment ViewHolder ( private Ġval Ġbinding : ĠItem Comment Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( comment : ĠComment Model ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Comment Title . text Ġ= Ġcomment . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Comment Description . text Ġ= Ġcomment . body ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ