package Ġcom . mi age . movie app . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġcom . example . core . models . api . Movie Ċ import Ġcom . mi age . movie app . databinding . Home Movie Item Binding Ċ import Ġcom . mi age . movie app . extension . set Post er Image Ċ import Ġcom . mi age . movie app . handlers . I Handler Home Ċ import Ġcom . mi age . movie app . utils . Recycler Scroll Listener Ċ Ċ class ĠHome Movies Adapter ( ĊĠĠĠ Ġprivate Ġval Ġhandler : ĠI Handler Home , ĊĠĠĠ Ġinfinite Content Scroll Listener : ĠRe cycler Scroll Listener Ċ ) Ġ: ĠList Recycler Scroll Adapter < Movie , ĠHome Movie Item Binding >( Diff Callback (), Ġinfinite Content Scroll Listener ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġbinding Inf late ( layout : ĠLayoutInflater , Ġparent : ĠViewGroup ): ĠHome Movie Item Binding Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠHome Movie Item Binding . inflate ( layout , Ġparent , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind ViewHolder ( item : ĠMovie , ĠviewHolder : ĠList Recycler Adapter < Movie , ĠHome Movie Item Binding >. ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠviewHolder . binding ĊĠĠĠĠĠĠĠ Ġbinding . movie Ġ= Ġitem ĊĠĠĠĠĠĠĠ Ġbinding . image . set Post er Image ( item . poster Path ) ĊĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . onClick Movie ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠDiff Callback Ġ: ĠDiff Util . Item Callback < Movie >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠMovie , Ġnew Item : ĠMovie ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠMovie , Ġnew Item : ĠMovie ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item . id Ġ== Ġnew Item . id ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }