package Ġorg . e ffer ves c ence . app 1 7 . recyclerview . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġkotlinx . android . synt hetic . main . bookmark _ event _ layout . view .* Ċ import Ġorg . e ffer ves c ence . app 1 7 . R Ċ import Ġorg . e ffer ves c ence . app 1 7 . activities . Event Detail Activity Ċ import Ġorg . e ffer ves c ence . app 1 7 . models . Event Ċ import Ġorg . e ffer ves c ence . app 1 7 . utils . App DB Ċ import Ġorg . e ffer ves c ence . app 1 7 . utils . G lide App Ċ import Ġorg . jetbrains . ank o . startActivity Ċ import Ġorg . jetbrains . ank o . toast Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġbetter cle ver Ġon Ġ 1 7 / 0 9 / 1 7 . Ċ Ġ*/ Ċ Ċ class ĠBook marks Adapter ( val Ġcontext : ĠContext ) Ġ: ĠRecyclerView . Adapter < Book marks Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġevents Ġ= ĠArrayList < Event >() ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġevents . size ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder ( LayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . bookmark _ event _ layout , Ġparent , Ġfalse )) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind Item ( context , Ġthis , Ġevents [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Events ( events : ĠList < Event >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . events . addAll ( events ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Data (){ ĊĠĠĠĠĠĠĠ Ġthis . events . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Event ( event : ĠEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . events . remove ( event ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind Item ( context : ĠContext , Ġadapter : ĠBook marks Adapter , Ġevent : ĠEvent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . title TextView . text Ġ= Ġevent . name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance ( TimeZone . getTime Zone (" Asia / In dia ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . time In Millis Ġ= Ġevent . timestamp . times ( 1 0 0 0 L ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat (" hh : mm Ġa Ġ ĠM MMM Ġd , Ġy yyy ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdf . time Zone Ġ= ĠTime Zone . getTime Zone (" Asia / In dia ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . time TextView . text Ġ= Ġsdf . format ( calendar . time ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . location TextView . text Ġ= Ġevent . location ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . root Constraint Layout . setOnClickListener ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . context . startActivity < Event Detail Activity >(" id " Ġto Ġevent . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( event . imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. circle Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . ic _ event ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( item View . event ImageView ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO Ġ: ĠRefresh Ġlayout Ġon Ġremoving Ġbookmark ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . cancel Bookmark . setOnClickListener Ġ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp DB Ġ= ĠApp DB . getInstance ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . delete Event ( event ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp DB . remove Bookmark ( event . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . toast (" Bookmark Ġremoved .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }