package Ġcom . example . admin . the best app . ui . movie Fragment . adapter Ċ Ċ import Ġandroid . arch . paging . Paged ListAdapter Ċ import Ġandroid . support . v 7 . util . Diff Util Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . example . admin . the best app . R Ċ import Ġcom . example . admin . the best app . data . remote . model . Movie Object Ċ Ċ class ĠMovie Adapter : ĠP aged ListAdapter < Movie Object , ĠMovie Holder >( REPO _ COMP AR ATOR ) Ċ { ĊĠĠĠ Ġvar Ġon Item Click : Ġ( Movie Object ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMovie Holder ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . movie _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMovie Holder ( view , Ġon Item Click ) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMovie Holder , Ġposition : ĠInt ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġcompanion Ġobject ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠRE PO _ COMP AR ATOR Ġ= Ġobject : ĠDiff Util . Item Callback < Movie Object >() ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠMovie Object , Ġnew Item : ĠMovie Object ): ĠBoolean Ġ= Ġold Item . id Ġ== Ġnew Item . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠMovie Object , Ġnew Item : ĠMovie Object ): ĠBoolean Ġ= Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ