/* Ċ * ĠCopyright Ġ 2 0 2 1 ĠW aj ah at ĠKar im Ġ( https :// w aj ah at kar im . com ) Ċ * Ċ * ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ * Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ * ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ * Ċ * ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ * Ċ * ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ * Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ * ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ * ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ * Ġlimitations Ġunder Ġthe ĠLicense . Ċ */ Ċ package Ġcom . w aj ah at kar im 3 . imag ine . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġco il . load Ċ import Ġcom . w aj ah at kar im 3 . imag ine . R Ċ import Ġcom . w aj ah at kar im 3 . imag ine . databinding . Photo Item Layout Binding Ċ import Ġcom . w aj ah at kar im 3 . imag ine . model . Photo Model Ċ Ċ class ĠPh otos Adapter ( val Ġon Photo Selected : Ġ( photo : ĠPhoto Model , Ġposition : ĠInt ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . Adapter < Photos Adapter . Photo ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġphoto Items : ĠArrayList < Photo Model > Ġ= Ġarray ListOf () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPhoto ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġbinding Ġ= ĠPhoto Item Layout Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPhoto ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPhoto ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( photo Items [ position ], Ġposition ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġphoto Items . size ĊĊĠĠĠ Ġfun Ġupdate Items ( photos List : ĠList < Photo Model >) Ġ{ ĊĠĠĠĠĠĠĠ Ġphoto Items . clear () ĊĠĠĠĠĠĠĠ Ġphoto Items . addAll ( photos List ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠPhoto ViewHolder ( val Ġitem Binding : ĠPhoto Item Layout Binding ) Ġ: ĠRecyclerView . ViewHolder ( item Binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( photo Model : ĠPhoto Model , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimg Photo . load ( photo Model . urls . thumb ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder ( R . color . color _ box _ background ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross fade ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard Photo . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Photo Selected ( photo Model , Ġposition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ