package Ġid . shader bo i . an il ist . ui . common . adapters Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Paging Data Adapter Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġco il . load Ċ import Ġid . shader bo i . an il ist . R Ċ import Ġid . shader bo i . an il ist . core . domain . model . common . anime . An ime Data Ċ import Ġid . shader bo i . an il ist . databinding . Item An ime Binding Ċ Ċ class ĠAn ime Paging Adapter ( ĊĠĠĠ Ġprivate Ġval ĠonClick An ime : Ġ( An ime Data , ĠInt , ĠView ) Ġ-> ĠUnit , ĊĠĠĠ Ġdiff Callback : ĠDiff Util . Item Callback < An ime Data > Ċ ) Ġ: ĊĠĠĠ ĠP aging Data Adapter < An ime Data , ĠAn ime Paging Adapter . Recipe ViewHolder >( diff Callback ) Ġ{ ĊĊĠĠĠ Ġclass ĠRecipe ViewHolder ( val Ġbinding : ĠItem An ime Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecipe ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRecipe ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem An ime Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . context ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecipe ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetItem ( position )?. let Ġ{ Ġan ime Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . setOnClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick An ime ( anime , Ġposition , Ġview ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . set BackgroundColor ( Color . parse Color ("# f 6 f 6 f 6 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView Cover . load ( anime . images . jpg . large ImageUrl ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross fade ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder ( R . drawable . ic _ baseline _ image _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Title . text Ġ= Ġan ime . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Type . text Ġ= Ġan ime . type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Year . text Ġ= Ġan ime . year ?. toString () Ġ?: Ġ" ?" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Episode . text Ġ= Ġ"${ anime . episodes Ġ?: Ġ"? "} Ġep " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Score . text Ġ= Ġan ime . score ?. toString () Ġ?: Ġ"? ?. ?" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Genre . text Ġ= Ġan ime . genres . join ToString (", Ġ") Ġ{ Ġit . name Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Description . text Ġ= Ġan ime . syn opsis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ