package Ġcom . se b astian op igh i . movie finder . adapters Ċ Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . se b astian op igh i . movie finder . R Ċ import Ġcom . se b astian op igh i . movie finder . models . Movie Ċ import Ġcom . se b astian op igh i . movie finder . utils . Pic asso Image Loader Ċ import Ġkotlinx . android . synt hetic . main . movies _ adapter _ cell . view .* Ċ Ċ class ĠMov ies Adapter ( private Ġval Ġimage Loader : ĠPic asso Image Loader , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġon Movie Selected : Ġ( Movie , ĠView ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . Adapter < Movies Adapter . Movie Cell ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmovies : ĠMutable List < Movie > Ġ= Ġmutable ListOf () ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMovie Cell ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent ?. context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . movies _ adapter _ cell , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMovie Cell ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovies . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMovie Cell ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmovie Ġ= Ġmovies [ position ] ĊĠĠĠĠĠĠĠ Ġholder . bind ( movie , Ġimage Loader , Ġon Movie Selected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Movies ( movies : ĠList < Movie >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . movies . addAll ( movies ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreload Movies ( movies : ĠList < Movie >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . movies . clear () ĊĠĠĠĠĠĠĠ Ġthis . movies . addAll ( movies ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠMovie Cell ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( movie : ĠMovie , Ġimage Loader : ĠPic asso Image Loader , Ġlistener : Ġ( Movie , ĠView ) Ġ-> ĠUnit ) Ġ= Ġwith ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovie . poster Path ?. let Ġ{ Ġimage Loader . load ( it , Ġmovie _ image , Ġtrue ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ Ġlistener ( movie , ĠitemView ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }