package Ġcom . dot 2 line . toy . ui Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Paging Data Adapter Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġcom . dot 2 line . toy . databinding . Holder Pokemon Binding Ċ import Ġcom . dot 2 line . toy . ui . model . Pokemon Ui Model Ċ Ċ class ĠPo ke Adapter Ġ: ĠP aging Data Adapter < Pokemon Ui Model , ĠPokemon ViewHolder >( diff Callback ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPokemon ViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠPokemon ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠH older Pokemon Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPokemon ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetItem ( position )?. let ( holder :: on Bind ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdiff Callback Ġ= Ġobject Ġ: ĠDiff Util . Item Callback < Pokemon Ui Model >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠPokemon Ui Model , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠPokemon Ui Model ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġold Item . id Ġ== Ġnew Item . id ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠPokemon Ui Model , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠPokemon Ui Model ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }