package Ġcom . example . area ad vice . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Rating Bar Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . area ad vice . R Ċ import Ġcom . example . area ad vice . activities . Location Info Menu Ċ import Ġcom . example . area ad vice . models . Place Ċ import Ġcom . example . area ad vice . storage . Prefs Ċ Ċ class ĠPl aces Adapter ( private Ġvar Ġcontext : ĠContext , Ġprivate Ġvar Ġplaces List : ĠArrayList < Place >) ĊĠĠĠ Ġ: ĠRecyclerView . Adapter < ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPopulate ĠRecyclerView Ġwith Ġlayout Ġfrom Ġadapter _ places ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . adapter _ places , Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( in flater ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . textView Name . text Ġ= Ġplaces List [ position ]. name ĊĠĠĠĠĠĠĠ Ġholder . rating Bar . rating Ġ= Ġplaces List [ position ]. rating ĊĠĠĠĠĠĠĠ Ġholder . textView Address . text Ġ= Ġplaces List [ position ]. address ĊĠĠĠĠĠĠĠ Ġval ĠisOpen Ġ= Ġplaces List [ position ]. isOpen ĊĊĠĠĠĠĠĠĠ Ġif Ġ( isOpen ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . textView Open . setTextColor ( Color . GREEN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . textView Open . text Ġ= Ġcontext . getString ( R . string . open ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . textView Open . setTextColor ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . textView Open . text Ġ= Ġcontext . getString ( R . string . closed ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshared Prefs Ġ= ĠP refs ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Lat Ġ= Ġshared Prefs . lat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Lng Ġ= Ġshared Prefs . lng ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠLocation Info Menu :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" name ", Ġholder . textView Name . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" address ", Ġholder . textView Address . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" rating ", Ġholder . rating Bar . rating . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" reviews ", Ġplaces List [ position ]. reviews ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" isOpen ", Ġholder . textView Open . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" latitude ", Ġplaces List [ position ]. latitude ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" longitude ", Ġplaces List [ position ]. longitude ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" lat ", Ġcurrent Lat ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" long ", Ġcurrent Lng ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" schedule ", Ġplaces List [ position ]. schedule ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" url ", Ġplaces List [ position ]. url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" photo ", places List [ position ]. photo . toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . context . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplaces List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrefresh Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠ Ġ// ĠGet Ġall Ġproperties Ġfrom Ġadapter _ places ĊĠĠĠ Ġval ĠtextView Name : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Name ) ĊĠĠĠ Ġval Ġrating Bar : ĠRating Bar Ġ= Ġview . findViewById ( R . id . rating Bar ) ĊĠĠĠ Ġval ĠtextView Address : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Address ) ĊĠĠĠ Ġval ĠtextView Open : ĠTextView Ġ= Ġview . findViewById ( R . id . textView Open ) Ċ } Ċ