package Ġcom . ali uz un . mvp movie app . top movies Ċ Ċ import Ġandroid . support . v 7 . util . Diff Util Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ali uz un . mvp movie app . R Ċ import Ġcom . ali uz un . mvp movie app . helper . My Diff Util Ċ import Ġcom . ali uz un . mvp movie app . http . apim odel . Result Ċ import Ġcom . ali uz un . mvp movie app . http . apim odel . Top R ated Ċ Ċ class ĠList Adapter ( var Ġlist Items : ĠMutable List < Result >) Ġ: ĠRecyclerView . Adapter < ListAdapter . ListItem ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠListItem ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠLayoutInflater : Ġtakes ĠID Ġfrom Ġlayout Ġdefined Ġin ĠXML . ĊĠĠĠĠĠĠĠ Ġ// ĠInstanti ates Ġthe Ġlayout ĠXML Ġinto Ġcorresponding ĠView Ġobjects . ĊĠĠĠĠĠĠĠ Ġ// ĠUse Ġcontext Ġfrom Ġmain Ġapp Ġ-> Ġalso Ġsupp lies Ġtheme Ġlayout Ġvalues ! ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġ// ĠInf late ĠXML . ĠLast Ġparameter : Ġdon 't Ġimmediately Ġattach Ġnew Ġview Ġto Ġthe Ġparent Ġview Ġgroup ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . movie _ list _ row , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠListItem ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠListItem ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠ Ġholder . title Text . text Ġ= Ġlist Items [ position ]. title ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist Items . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate DataList ( new List : List < Result > ){ ĊĠĠĠĠĠĠĠ Ġval Ġdiff Util Ġ= ĠMy Diff Util ( list Items , Ġnew List ) ĊĠĠĠĠĠĠĠ Ġval Ġdiff Result Ġ= ĠDiff Util . calculate Diff ( diff Util ) ĊĠĠĠĠĠĠĠ Ġlist Items . clear () ĊĠĠĠĠĠĠĠ Ġlist Items . addAll ( new List ) ĊĠĠĠĠĠĠĠ Ġdiff Result . dispatch Updates To ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠListItem ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Text Ġby Ġlazy Ġ{ ĠitemView !!. findViewById < TextView >( R . id . movie Title ) Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊĊ