package Ġg q . kir man ak . meal ient . ui . recipes Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Paging Data Adapter Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġg q . kir man ak . meal ient . data . recipes . db . entity . Recipe Summary Entity Ċ import Ġg q . kir man ak . meal ient . databinding . ViewHolder Recipe Binding Ċ import Ġg q . kir man ak . meal ient . ui . recipes . images . Recipe Image Loader Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠRe cipes Paging Adapter ( ĊĠĠĠ Ġprivate Ġval Ġrecipe Image Loader : ĠRecipe Image Loader , ĊĠĠĠ Ġprivate Ġval Ġclick Listener : Ġ( Recipe Summary Entity ) Ġ-> ĠUnit Ċ ) Ġ: ĠP aging Data Adapter < Recipe Summary Entity , ĠRecipe ViewHolder >( Recipe Diff Callback ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecipe ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġholder . bind ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecipe ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . v (" onCreate ViewHolder () Ġcalled Ġwith : Ġparent Ġ= Ġ$ parent , Ġview Type Ġ= Ġ$ view Type ") ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠViewHolder Recipe Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠRecipe ViewHolder ( binding , Ġrecipe Image Loader , Ġclick Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġobject ĠRecipe Diff Callback Ġ: ĠDiff Util . Item Callback < Recipe Summary Entity >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠRecipe Summary Entity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠRecipe Summary Entity ĊĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġold Item . remote Id Ġ== Ġnew Item . remote Id ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠRecipe Summary Entity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠRecipe Summary Entity ĊĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġold Item . name Ġ== Ġnew Item . name Ġ&& Ġold Item . slug Ġ== Ġnew Item . slug ĊĠĠĠ Ġ} Ċ } Ċ