package Ġcom . ed gar . merc ado search . ui . home Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . ed gar . merc ado search . R Ċ import Ġcom . ed gar . merc ado search . data . api . Result Ċ Ċ /** Ċ Ġ* Ġ@ author ĠEd gar ĠG le lle l Ċ Ġ* ĠAdapter Ġclass Ġresponsible Ġfor Ġhandling Ġsearch Ġitems Ġ@ see Ġ[ Home Activity ] Ċ Ġ*/ Ċ Ċ class ĠHome Adapter ( ĊĠĠĠ Ġprivate Ġval Ġresults : ĠArrayList < Result >, ĊĠĠĠ Ġprivate Ġval Ġclick Listener : ĠItem ClickListener Ċ ) Ġ: ĠRecyclerView . Adapter < Home Adapter . Home Results ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠHome Results ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ search , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠHome Results ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġresults . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠHome Results ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġresults [ position ] ĊĠĠĠĠĠĠĠ Ġholder . update View ( result ) ĊĠĠĠĠĠĠĠ Ġ// assign Ġthe Ġclick Ġevent ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener . onClick ( result Ġ= Ġresult ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠClass ĠViewHolder Ġ@ see Ġ[ Home Adapter ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠHome Results ViewHolder ( item VI ew : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item VI ew ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġtitle : ĠTextView ĠĠĠĠĠĠĠĠ Ġ= Ġitem VI ew . findViewById ( R . id . title ) ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġprice : ĠTextView ĠĠĠĠĠĠĠĠ Ġ= Ġitem VI ew . findViewById ( R . id . price ) ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġfree _ shipping : ĠTextView Ġ= Ġitem VI ew . findViewById ( R . id . free _ shipping ) ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġthumbnail : ĠImageView ĠĠĠ Ġ= Ġitem VI ew . findViewById ( R . id . thumbnail ) ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠFunction Ġresponsible Ġfor Ġmanaging Ġthe Ġassignment Ġof Ġcontent Ġto Ġthe Ġcell ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġupdate View ( result : ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . text ĠĠ Ġ= Ġresult . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprice . text ĠĠ Ġ= Ġ"$ "+ result . price ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( result . shipping !!. free _ shipping == true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfree _ shipping . visibility Ġ= Ġ ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfree _ shipping . visibility Ġ= Ġ ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( item View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Bitmap () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( result . thumbnail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( thumbnail ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Home Adapter " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠItem ĠClick ĠListener Ġ@ see Ġ[ Home Activity ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinterface ĠItem ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( result : ĠResult ) ĊĠĠĠ Ġ} Ċ } ĊĊ