import Ġandroid . content . Context č Ċ import Ġandroid . graphics . Color č Ċ import Ġandroid . graphics . Color . BLUE č Ċ import Ġandroid . graphics . drawable . Drawable č Ċ import Ġandroid . hardware . camera 2 . params . Rg gb Channel Vector . RED č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . ViewGroup č Ċ import Ġandroidx . core . content . Context Compat č Ċ import Ġandroidx . databinding . Data Binding Util č Ċ import Ġandroidx . recyclerview . widget . RecyclerView č Ċ import Ġcom . example . e lok ira . R č Ċ import Ġcom . example . e lok ira . data . E lection č Ċ import Ġcom . example . e lok ira . databinding . E lection s Layout Binding č Ċ import Ġjava . text . SimpleDateFormat č Ċ import Ġjava . util .* čĊč Ċ class ĠE lection s Adapter ( čĊĠĠĠ Ġprivate Ġval Ġelection s : ĠList < E lection ? >, čĊĠĠĠ Ġval Ġlist Listener : Ġ( E lection ) Ġ-> ĠUnit , čĊĠĠĠ Ġval Ġparticip ate Listener : Ġ( E lection ) Ġ-> ĠUnit čĊĠĠĠ Ġ) Ġ: ĠRecyclerView . Adapter < E lection s Adapter . ViewHolder >() Ġ{ čĊčĊĠĠĠ Ġval ĠcurrentTime Ġ= ĠSystem . currentTimeMillis () čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġi : ĠInt ): ĠViewHolder Ġ{ č Ċ // ĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġparent . context čĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) čĊĠĠĠĠĠĠĠ Ġval Ġbinding : ĠE lection s Layout Binding Ġ= ĠData Binding Util . inflate ( layout Inflater , čĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . election s _ layout , Ġparent , Ġfalse ) čĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( binding ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġelection s [ position ] čĊĠĠĠĠĠĠĠ Ġholder . bind ( item ) čĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener { Ġlist Listener ( item !! )} čĊĠĠĠĠĠĠĠ Ġholder . binding . part icip ate . setOnClickListener { part icip ate Listener ( item !! ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . part icip ate . setText ( R . string . Vote ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( ĠcurrentTime Ġ== Ġitem . stop Date Ġ){ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . binding . part icip ate . set BackgroundColor ( Color . parse Color ("# 0 0 0 0 EE ")) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġelse { č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstop date Ġ= ĠSimpleDateFormat (" dd / MM / yyyy ") č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnet Date Ġ= ĠDate ( item . stop Date ) č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop date . format ( net Date ) č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġholder . binding . starts On č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . visibility Ġ= ĠView . VISIBLE č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . setText (" Starts Ġon Ġ$ stop date ") č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġelection s . size čĊĠĠĠ Ġ} čĊčĊčĊ čĊčĊĠĠĠ Ġclass ĠViewHolder ( val Ġbinding : ĠE lection s Layout Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ), ĠView . OnClickListener Ġ{ čĊĠĠĠĠĠĠĠ Ġfun Ġbind ( item : ĠE lection ? ){ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelection Name . text Ġ= Ġitem ?. election Name čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . part icip ate . setOnClickListener Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( p 0 : ĠView ?) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Position čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ}