package Ġcom . mo ham mad f ay az . hn . ui . adapters . stories Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Paging Data Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . mo ham mad f ay az . hn . databinding . Layout Story Item Binding Ċ import Ġcom . mo ham mad f ay az . hn . domain . models . Story Model Ċ import Ġcom . mo ham mad f ay az . hn . utils . App DateTime Utils Ċ import Ġjava . util .* Ċ Ċ class ĠStory ListAdapter Ġconstructor ( private Ġval Ġlistener : ĠStory ItemClickListener ) Ġ: ĊĠ ĠP aging Data Adapter < Story Model , ĠStory ListAdapter . Story ViewHolder >( Story Diff Util CallBack ()) Ġ{ ĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠStory ViewHolder Ġ{ ĊĠĠĠ Ġreturn Ġfrom ( parent ) ĊĠ Ġ} ĊĊĠ Ġfun Ġfrom ( parent : ĠViewGroup ): ĠStory ViewHolder Ġ{ ĊĠĠĠ Ġreturn ĠStory ViewHolder ( ĊĠĠĠĠĠ ĠLayout Story Item Binding . inflate ( ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( ĊĠĠĠĠĠĠĠĠĠ Ġparent . context ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠ Ġ), ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠStory ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġholder . bind ( getItem ( position ) !! ) ĊĠ Ġ} ĊĊĠ Ġinner Ġclass ĠStory ViewHolder Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġbinding : ĠLayout Story Item Binding ĊĠ Ġ) Ġ: ĊĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ Ġbinding . parent Layout . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġbinding Adapter Position ĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ!= ĠRecyclerView . NO _ POSITION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onClick ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġif Ġdidn 't Ġreturn Ġcall Ġerror ĊĠĠĠĠĠĠĠ Ġlistener . onClick Error () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind ( story : ĠStory Model ) Ġ{ ĊĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġauthor Name TextView . text Ġ= Ġstory . by ĊĠĠĠĠĠĠĠ Ġtitle TextView . text Ġ= Ġstory . title Ċ // ĠĠĠĠĠĠĠ Ġcomments ImageView . icon Ġ= Ċ // ĠĠĠĠĠĠĠĠĠ ĠApp Icons . f aw Comment ( binding . root . context ) Ċ // ĠĠĠĠĠĠĠ Ġscore ImageView . icon Ġ= Ċ // ĠĠĠĠĠĠĠĠĠ ĠApp Icons . f aw Heart ( binding . root . context ) ĊĠĠĠĠĠĠĠ Ġscore TextView . text Ġ= Ġstory . score . toString () ĊĠĠĠĠĠĠĠ Ġcomments TextView . text Ġ= Ġstory . k ids ?. size . toString () ĊĠĠĠĠĠĠĠ Ġstory Type TextView . text Ġ= Ġstory . story Type . string . uppercase () ĊĠĠĠĠĠĠĠ Ġtime TextView . text Ġ= ĠApp DateTime Utils . when Did This H appen ( story . time ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ