package Ġcom . fer n ando ce jas . cognitive . chat bot . chat Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġkotlinx . android . synt hetic . main . item _ message _ received . view . date _ time _ received Ċ import Ġkotlinx . android . synt hetic . main . item _ message _ received . view . text _ message _ received Ċ import Ġkotlinx . android . synt hetic . main . item _ message _ sent . view . date _ time _ sent Ċ import Ġkotlinx . android . synt hetic . main . item _ message _ sent . view . text _ message _ sent Ċ Ċ sealed Ġclass ĠMessage ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfor ViewType ( item View : ĠView , Ġview Type : ĠInt ): ĠMessage ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMessage ViewModel . Type . SENT . layout Res Ġ-> Ġreturn ĠMessage Sent ViewHolder ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMessage ViewModel . Type . RECE IVED . layout Res Ġ-> Ġreturn ĠMessage Received ViewHolder ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Invalid ĠViewHolder Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġbind ( message ViewModel : ĠMessage ViewModel ) ĊĊĠĠĠ Ġinternal Ġclass ĠMessage Sent ViewHolder ( item View : ĠView ) Ġ: ĠMessage ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind ( message ViewModel : ĠMessage ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . text _ message _ sent . text Ġ= Ġmessage ViewModel . message ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . date _ time _ sent . text Ġ= Ġmessage ViewModel . createdAt . time () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġclass ĠMessage Received ViewHolder ( item View : ĠView ) Ġ: ĠMessage ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind ( message ViewModel : ĠMessage ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . text _ message _ received . text Ġ= Ġmessage ViewModel . message ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . date _ time _ received . text Ġ= Ġmessage ViewModel . createdAt . time () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }