/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠR az ew are ĠLLC Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠNot with standing Ġthe Ġfore going , Ġyou Ġmay Ġnot Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ċ Ġ* Ġdistribute , Ġsublicense , Ġcreate Ġa Ġderivative Ġwork , Ġand / or Ġsell Ġcopies Ġof Ġthe Ċ Ġ* ĠSoftware Ġin Ġany Ġwork Ġthat Ġis Ġdesigned , Ġintended , Ġor Ġmarket ed Ġfor Ġped ag og ical Ġor Ċ Ġ* Ġinstruction al Ġpurposes Ġrelated Ġto Ġprogramming , Ġcoding , Ġapplication Ġdevelopment , Ċ Ġ* Ġor Ġinformation Ġtechnology . Ġ ĠPermission Ġfor Ġsuch Ġuse , Ġcopying , Ġmodification , Ċ Ġ* Ġmer ger , Ġpublication , Ġdistribution , Ġsublic ensing , Ġcreation Ġof Ġderivative Ġworks , Ċ Ġ* Ġor Ġsale Ġis Ġexpress ly Ġwith held . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . ray w ender lich . android . wishlist Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġkotlinx . android . synt hetic . main . item _ wishlist . view .* ĊĊ Ċ class ĠW ish list Adapter ( lifecycle Owner : ĠLifecycle Owner , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġwish list : ĠLive Data < List < Wish list >>, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġon ItemSelected : Ġ( Wish list ) Ġ-> ĠUnit ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Wish ListView Holder >() Ġ{ ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġwish list . observe ( lifecycle Owner , ĠObserver Ġ{ Ġnotify DataSet Changed () Ġ}) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠW ish ListView Holder Ġ{ ĊĠĠĠ Ġreturn ĠW ish ListView Holder ( LayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ wishlist , Ġparent , Ġfalse ), Ġon ItemSelected ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġwish list . value ?. size Ġ?: Ġ 0 ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠW ish ListView Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġwish list . value ?. get ( position )?. let Ġ{ Ġholder . bind ( it ) Ġ} ĊĠ Ġ} Ċ } Ċ Ċ class ĠW ish ListView Holder ( val Ġview : ĠView , Ġval Ġon ItemSelected : Ġ( Wish list ) Ġ-> ĠUnit ) Ġ: ĊĠĠĠ ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĊĠ Ġprivate Ġval Ġwish Item Adapter Ġ= ĠW ish Item Adapter () ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġview . recycler W ishes . layout Manager Ġ= ĠLinearLayoutManager ( view . context ) ĊĠĠĠ Ġview . recycler W ishes . adapter Ġ= Ġwish Item Adapter ĊĠ Ġ} ĊĊĠ Ġfun Ġbind ( wishlist : ĠW ish list ) Ġ{ ĊĠĠĠ Ġview . title . text Ġ= Ġwish list . receiver ĊĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠ Ġon ItemSelected ( wishlist ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġwish Item Adapter . items . clear () ĊĠĠĠ Ġwish Item Adapter . items . addAll ( wishlist . w ishes ) ĊĠĠĠ Ġwish Item Adapter . notify DataSet Changed () ĊĠ Ġ} Ċ } Ċ Ċ class ĠW ish Item Adapter Ġ: ĠRecyclerView . Adapter < Wish ViewHolder >() Ġ{ ĊĊĠ Ġval Ġitems : ĠMutable List < String > Ġ= Ġmutable ListOf () ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠW ish ViewHolder Ġ{ ĊĠĠĠ Ġreturn ĠW ish ViewHolder ( TextView ( parent . context )) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġitems . size ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠW ish ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġholder . bind ( items [ position ]) ĊĠ Ġ} Ċ Ċ } Ċ Ċ class ĠW ish ViewHolder ( val Ġview : ĠTextView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠ Ġfun Ġbind ( wish : ĠString ) Ġ{ ĊĠĠĠ Ġview . text Ġ= Ġwish ĊĠ Ġ} Ċ } ĊĊ