package Ġcom . new game software . movies app demo . ui . home ĊĊ Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . new game software . movies app demo . base . view . re cyclerView . Base Recycler Adapter Ċ import Ġcom . new game software . movies app demo . models . Movie ĊĊ Ċ class ĠHome Adapter : ĠBase Recycler Adapter < Home RecyclerView , ĠHome Cell >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmovies Ġ= ĠArrayList < Movie >() ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠH older Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcell Ġ= ĠHome Cell ( parent . context ) ĊĠĠĠĠĠĠĠ Ġreturn ĠH older ( cell ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠH older , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmovie Ġ= Ġmovies [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . cell . bind Movie ( movie ) ĊĊĠĠĠĠĠĠĠ Ġholder . cell . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . cell . re cyclerView . super View . primary Fragment . on Item Movie Clicked ( movie ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġitem Count Ġ- Ġ 1 ) Ġ{ ĠĠĠ Ġ// last Ġelement ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpage Ġ= Ġitem Count Ġ/ Ġ 2 0 Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest ?. invoke ( page ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovies . size ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġadd Movies ( new List : ĠArrayList < Movie >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġold Size Ġ= Ġmovies . size ĊĊĠĠĠĠĠĠĠ Ġmovies . addAll ( new List ) ĊĠĠĠĠĠĠĠ Ġnotify Item Range Changed ( old Size , Ġmovies . size ) ĊĠĠĠ Ġ} Ċ }