package Ġstud ios . ea em enk k . c anc an vas . view . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . graphics . Port er D uff Color Filter Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . air bnb . lott ie . Lot tie Animation View Ċ import Ġcom . air bnb . lott ie . Lot tie Property Ċ import Ġcom . air bnb . lott ie . model . Key Path Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġkotlinx . android . synt hetic . main . comment _ card . view . iv Like Ċ import Ġkotlinx . android . synt hetic . main . comment _ card . view . iv Profile Ċ import Ġkotlinx . android . synt hetic . main . comment _ card . view . tv Lik es Ċ import Ġkotlinx . android . synt hetic . main . comment _ card . view . tv Name Ċ import Ġkotlinx . android . synt hetic . main . comment _ card . view . tv Nick name Ċ import Ġkotlinx . android . synt hetic . main . comment _ card . view . tv Time Ċ import Ġkotlinx . android . synt hetic . main . post _ card . view .* Ċ import Ġstud ios . ea em enk k . c anc an vas . R Ċ import Ġstud ios . ea em enk k . c anc an vas . domain . Comment Ċ Ċ class ĠComment Adapter ( private Ġval Ġcontext : ĠContext ): ĠRecyclerView . Adapter < Comment Adapter . Comment ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġvar ĠdataSet Ġ= ĠArrayList < Comment >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠComment ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . comment _ card , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠComment ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠdataSet . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠComment ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomment Ġ= ĠdataSet [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . description . text Ġ= Ġcomment . text ĊĠĠĠĠĠĠĠ Ġholder . name . text Ġ= Ġcomment . author ?. name ĊĠĠĠĠĠĠĠ Ġholder . nickname . text Ġ= Ġ"@ ${ comment . author ?. nickname }" ĊĠĠĠĠĠĠĠ Ġif Ġ( comment . author ?. picture Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get (). load ( comment . author ?. picture ). into ( holder . picture ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . likes . text Ġ= Ġcomment . likes . toString () ĊĠĠĠĠĠĠĠ Ġholder . time . text Ġ= Ġcomment . timestamp ĊĊĠĠĠĠĠĠĠ Ġholder . like . add Value Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey Path (" ** "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠL ot tie Property . COLOR _ FILTER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠPort er D uff Color Filter ( context . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . color Secondary Light ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPort er D uff . Mode . SRC _ AT OP ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Comment ( index : ĠInt , Ġcomment : ĠComment ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( comment Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet . add ( comment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Comments ( comments : ĠArrayList < Comment > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġcomments ?. forEach Indexed Ġ{ Ġindex , Ġcomment Ġ-> Ġadd Comment ( index , Ġcomment ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Comments ( comments : ĠArrayList < Comment > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( comments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomments . forEach Indexed Ġ{ Ġindex , Ġcomment Ġ-> Ġadd Comment ( index , Ġcomment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠComment ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpicture : ĠImageView Ġ= ĠitemView . iv Profile ĊĠĠĠĠĠĠĠ Ġval Ġnickname : ĠTextView Ġ= ĠitemView . tv Nick name ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠTextView Ġ= ĠitemView . tv Name ĊĠĠĠĠĠĠĠ Ġval Ġtime : ĠTextView Ġ= ĠitemView . tv Time ĊĠĠĠĠĠĠĠ Ġval Ġlike : ĠL ot tie Animation View Ġ= ĠitemView . iv Like ĊĠĠĠĠĠĠĠ Ġval Ġlikes : ĠTextView Ġ= ĠitemView . tv Lik es ĊĠĠĠĠĠĠĠ Ġval Ġmenu : ĠImageView Ġ= ĠitemView . iv Menu ĊĠĠĠĠĠĠĠ Ġval Ġdescription : ĠTextView Ġ= ĠitemView . tv Description ĊĠĠĠ Ġ} Ċ }