package Ġorg . tr av lyn . ui . tri ps Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . location . Location Ċ import Ġandroid . location . Location Manager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . android . synt hetic . main . activity _ trip _ information .* Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġorg . tr av lyn . R Ċ import Ġorg . tr av lyn . api . City Api Ċ import Ġorg . tr av lyn . api . Trip Api Ċ import Ġorg . tr av lyn . api . model . Execution Info Ċ import Ġorg . tr av lyn . api . model . Stop Ċ import Ġorg . tr av lyn . api . model . Trip Ċ import Ġorg . tr av lyn . api . model . User Ċ import Ġorg . tr av lyn . local . Application Ċ import Ġorg . tr av lyn . local . LocalStorage Ċ import Ġorg . tr av lyn . ui . navigation . Navigation Activity Ċ import Ġorg . tr av lyn . ui . navigation . fetch Location ĊĊ Ċ class ĠTrip Information Activity Ġ: ĠAppCompatActivity (), ĠApplication Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġtrip Api : ĠTrip Api ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ trip _ information ) ĊĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Show Home Enabled ( true ) ĊĊĠĠĠĠĠĠĠ Ġtrip Api Ġ= ĠTrip Api ( this ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġintent . extras ĊĠĠĠĠĠĠĠ Ġif Ġ( bundle Ġ!= Ġnull Ġ&& Ġbundle . containsKey (" trip ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtrip : ĠTrip Ġ= ĠGson (). fromJson ( bundle . getString (" trip "), ĠTrip :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Trip Navigation Fab . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Start Navigation Dialog ( trip ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar ?. title Ġ= Ġtrip . name Ġ+ Ġ" Ġ- Ġ" Ġ+ ĠgetString ( R . string . trip ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Information Name TextView . text Ġ= Ġtrip . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! trip . private !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Information Name TextView . set Compound Draw ables With Intr insic Bounds ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( trip . city Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Information City TextView . text Ġ= Ġtrip . city . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Information City TextView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( trip . user ?. id Ġ!= ĠLocal Storage ( this ). read Object < User >(" user ") ?. id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Information City TextView . append (" Ġ| Ġ" Ġ+ Ġtrip . user !!. name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( trip . average Rating Ġ== Ġnull Ġ|| Ġtrip . average Rating Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Card Rating TextView . text Ġ= ĠgetString ( R . string . no _ value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Card Rating Bar . rating Ġ= Ġtrip . average Rating . toFloat () Ġ* Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Card Rating TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . rating _ value , Ġtrip . average Rating Ġ* Ġ 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtrip Stop Card View : ĠRecyclerView Ġ= ĠfindViewById ( R . id . trip Stop Card View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Stop Card View . layout Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayoutManager ( this , ĠLinearLayoutManager . VERTICAL , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrip Stop Card View . adapter Ġ= ĠTrip Information Stop Adapter ( trip . stops !!. toList (), Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġstart Navigation Activity ( trip : ĠTrip , ĠexecutionInfo : ĠExecution Info ) Ġ= ĊĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this @ Trip Information Activity , ĠNavigation Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . put Extras ( bundle Of (" trip " Ġto ĠGson (). toJson ( trip ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . put Extras ( bundle Of (" execution Info " Ġto ĠGson (). toJson ( execution Info ))) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Start Navigation Dialog ( trip : ĠTrip ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog Layout : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . navigation _ dialog , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( getString ( R . string . navigation )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( dialog Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( getString ( R . string . ok ), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( getString ( R . string . cancel ), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠĠĠĠĠ Ġdialog . setOn Show Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . get Button ( AlertDialog . BUTTON _ POSITIVE ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreorder Layout : ĠLinearLayout Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Layout . findViewById ( R . id . navigation Start Dialog Re order Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġround Trip Layout : ĠLinearLayout Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Layout . findViewById ( R . id . navigation Start Dialog Round Trip Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠprogressBar : ĠProgress Bar Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Layout . findViewById ( R . id . navigation Start Dialog ProgressBar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreorder Switch : ĠSwitch Ġ= Ġdialog Layout . findViewById ( R . id . navigation Re order Switch ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġround Trip Switch : ĠSwitch Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Layout . findViewById ( R . id . navigation Round Trip Switch ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreorder Layout . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġround Trip Layout . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . IO ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfetch Route ( trip , Ġreorder Switch . isChecked , Ġround Trip Switch . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ Ġdialog . dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġfetch Route ( trip : ĠTrip , Ġreorder Allowed : ĠBoolean , Ġround Trip : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocation Manager Ġ= Ġget System Service ( Context . LOCATION _ SERVICE ) Ġas ĠLocation Manager ĊĠĠĠĠĠĠĠ Ġval Ġlocation : ĠLocation Ġ= Ġlocation Manager . fetch Location ( this @ Trip Information Activity ) ĊĊĠĠĠĠĠĠĠ Ġval ĠexecutionInfo Ġ= Ġtrip Api . get Trip Execution Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreorder Allowed , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġround Trip , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation . latitude , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation . longitude , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrip . id !! , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocal Storage ( this @ Trip Information Activity ). read Object < User >(" user ") !!. id !! ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( execution Info Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Navigation Activity ( trip , ĠexecutionInfo ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetContext (): ĠContext Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠTrip Information Stop Adapter ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġstops : ĠList < Stop >, ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġapplication : ĠApplication ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . Adapter < Trip Information Stop Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcity Api Ġ= ĠCity Api ( application Ġas ĠTrip Information Activity ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview : ĠView Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( application . getContext ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . trip _ information _ stop _ list _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstops . size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstop : ĠStop Ġ= Ġstops [ position ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Name . text Ġ= Ġstop . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Description . text Ġ= Ġstop . description ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Indicator View . setImage Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . getContext () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Drawable ( R . drawable . stop _ list _ indicator _ start ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġstops . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Indicator View . setImage Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . getContext () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Drawable ( R . drawable . stop _ list _ indicator _ end ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstring Identifier Ġ= Ġapplication . getContext (). resources . getIdentifier ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" category _" Ġ+ Ġstop . category ?. name , Ġ" string ", Ġapplication . getContext (). packageName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Category TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( string Identifier Ġ> Ġ 0 ) Ġapplication . getContext () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getString ( string Identifier ) Ġelse Ġstop . category ?. name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stop . average Rating Ġ== Ġnull Ġ|| Ġstop . average Rating Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Rating TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . getContext (). getString ( R . string . no _ value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Rating Bar . rating Ġ= Ġstop . average Rating . toFloat () Ġ* Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Rating TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . getContext () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getString ( R . string . rating _ value , Ġstop . average Rating Ġ* Ġ 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stop . time Eff ort Ġ== Ġnull Ġ|| Ġstop . time Eff ort Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Time Eff ort TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . getContext (). getString ( R . string . no _ value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Time Eff ort TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . getContext () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getString ( R . string . hours _ unit , Ġstop . time Eff ort ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stop . pricing Ġ== Ġnull Ġ|| Ġstop . pricing Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Pricing TextView . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . getContext (). getString ( R . string . no _ value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Pricing TextView . text Ġ= Ġstop . pricing . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( holder . stop List ImageView . drawable Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . IO ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stop . image Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap : ĠBitmap ? Ġ= Ġcity Api . getImage ( stop . image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bitmap Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List ImageView . setImage Bitmap ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . stop List Progress Indicator . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġinner Ġclass ĠViewHolder Ġinternal Ġconstructor ( item View : ĠView ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List ImageView : ĠImageView Ġ= ĠitemView . findViewById ( R . id . stop List ImageView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Indicator View : ĠImageView Ġ= ĠitemView . findViewById ( R . id . stop List Indicator View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Name : ĠTextView Ġ= ĠitemView . findViewById ( R . id . stop List Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Rating Bar : ĠRating Bar Ġ= ĠitemView . findViewById ( R . id . stop List Rating Bar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Rating TextView : ĠTextView Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById ( R . id . stop List Rating TextView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Description : ĠTextView Ġ= ĠitemView . findViewById ( R . id . stop List Description ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Progress Indicator : ĠProgress Bar Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById ( R . id . stop List Progress Indicator ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Category TextView : ĠTextView Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById ( R . id . stop List Category TextView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Time Eff ort TextView : ĠTextView Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById ( R . id . stop List Time Eff ort TextView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstop List Pricing TextView : ĠTextView Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById ( R . id . stop List Pricing TextView ) ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ