package Ġcom . example . min h qu an . best trip . adapter Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ 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 . bump tech . glide . request . RequestOptions Ċ Ċ import Ġcom . example . min h qu an . best trip . R Ċ import Ġcom . example . min h qu an . best trip . detail . Detail Activity Ċ import Ġcom . example . min h qu an . best trip . model . Detail Route Ċ import Ġcom . example . min h qu an . best trip . model . map data . Result Route Ċ import Ġcom . example . min h qu an . best trip . model . firebase data . Company Ċ import Ġcom . example . min h qu an . best trip . model . firebase data . User Ċ import Ġjava . text . Decimal Format Ċ Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠT axi Adapter ( internal Ġvar Ġcontext : ĠContext , Ġvar Ġroute : ĠResult Route , Ġvar Ġuser : ĠUser ) Ġ: ĠRecyclerView . Adapter < Tax i Adapter . ViewHolder >() Ġ{ ĊĠĠĠ Ġinternal Ġvar Ġdata : ĠList < Company > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcompany : ĠCompany ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdata Ġ= ĠArrayList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetData ( data : ĠList < Company >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . tax i , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcompany Ġ= Ġdata [ position ] ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( context ). load ( company . list User [ 0 ]. image ). apply ( RequestOptions . circle Crop Transform ()). into ( holder . image Auto M ak ers ) ĊĠĠĠĠĠĠĠ Ġholder . tv Auto M ak ers . text Ġ= Ġcompany . name ĊĊĠĠĠĠĠĠĠ Ġval Ġformatter Ġ= ĠDecimal Format ("# , ### ") ĊĠĠĠĠĠĠĠ Ġval Ġprice Ġ= Ġcompany . list User [ 0 ]. price !!. toInt () Ġ* Ġroute . routes ! ![ 0 ]. leg s ! ![ 0 ]. distance !!. value !! Ġ/ Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġformatted Number Ġ= Ġformatter . format ( price ) ĊĠĠĠĠĠĠĠ Ġholder . tv Price . text Ġ= Ġ( formatted Number ). toString () Ġ+ Ġ" Äĳ " ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ), ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġimage Auto M ak ers : ĠImageView Ġ= ĠitemView . findViewById ( R . id . img Auto M ak ers ) ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtv Auto M ak ers : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv Auto M ak ers ) ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtv Price : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv Price ) ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdetail Ġ= ĠDetail Route ( route . routes ! ![ 0 ], Ġdata [ position ], Ġtv Price . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠDetail Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Parcelable (" Detail Route ", detail ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" route Bundle ", bundle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" Data User ", user ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ