package Ġcom . b unch code . a ustin places . app Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . b unch code . a ustin places . R Ċ import Ġcom . b unch code . a ustin places . app . SearchResults Adapter . ViewHolder Ċ import Ġcom . b unch code . a ustin places . data . Venue Ċ import Ġcom . jak ew h art on . r xb ind ing 2 . view . click s Ċ Ċ class ĠSearch Results Adapter ( ĊĠĠĠĠĠĠĠ Ġval Ġresults : ĠList < Venue >, ĊĠĠĠĠĠĠĠ Ġval Ġlistener : Ġ( Venue ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġresults . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( LayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . list _ item _ venue , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġven ue Ġ= Ġresults [ position ] ĊĠĠĠĠĠĠĠ Ġholder . bind Result ( venue ) ĊĠĠĠĠĠĠĠ Ġholder . item View . click s (). subscribe Ġ{ Ġlistener . invoke ( venue ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġname : ĠTextView Ġ= ĠitemView . findViewById ( R . id . name ) ĊĠĠĠĠĠĠĠ Ġval Ġcategory : ĠTextView Ġ= ĠitemView . findViewById ( R . id . category ) ĊĠĠĠĠĠĠĠ Ġval Ġdistance : ĠTextView Ġ= ĠitemView . findViewById ( R . id . distance ) ĊĠĠĠĠĠĠĠ Ġval Ġis Favorite : ĠImageView Ġ= ĠitemView . findViewById ( R . id . is Favorite ) ĊĠĠĠĠĠĠĠ Ġval Ġicon : ĠImageView Ġ= ĠitemView . findViewById ( R . id . icon ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind Result ( venue : ĠV en ue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname . text Ġ= Ġven ue . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance . text Ġ= Ġdistance . context . getString ( R . string . label _ m iles _ from _ a ustin , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Utils . m iles From A ustin ( venue . location . latitude , Ġven ue . location . longitude )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Favorite . setImage Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( venue . is Favorite ) ĠR . drawable . ic _ f avor ited ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠR . drawable . ic _ un f avor ited ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( venue . categories . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory . text Ġ= Ġven ue . categories [ 0 ]. name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( venue . categories [ 0 ]. icon . url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( icon ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }