package Ġio . eur u app . view Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Intent Ċ import Ġandroid . location . Geo coder Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . widget . AppCompat Rating Bar Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġio . code labs . util . bind View Ċ import Ġio . code labs . widget . Baseline Grid TextView Ċ import Ġio . code labs . widget . Circular ImageView Ċ import Ġio . eur u app . R Ċ import Ġio . eur u app . core . Base Activity Ċ import Ġio . eur u app . model . Business Ċ import Ġio . eur u app . model . User Ċ import Ġio . eur u app . util . Constants Utils Ċ import Ġio . code labs . sdk . glide . G lide App Ċ import Ġjava . util .* Ċ Ċ class ĠProvider Details Activity ( override Ġval Ġlayout Id : ĠInt Ġ= ĠR . layout . activity _ provider _ details ) Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġavatar : ĠCircular ImageView Ġby Ġbind View ( R . id . avatar ) ĊĠĠĠ Ġprivate Ġval Ġname : ĠBase line Grid TextView Ġby Ġbind View ( R . id . business _ name ) ĊĠĠĠ Ġprivate Ġval Ġaddress : ĠBase line Grid TextView Ġby Ġbind View ( R . id . business _ address ) ĊĠĠĠ Ġprivate Ġval Ġservice : ĠBase line Grid TextView Ġby Ġbind View ( R . id . business _ service ) ĊĠĠĠ Ġprivate Ġval Ġdesc : ĠBase line Grid TextView Ġby Ġbind View ( R . id . business _ desc ) ĊĠĠĠ Ġprivate Ġval Ġrating Bar : ĠAppCompat Rating Bar Ġby Ġbind View ( R . id . business _ ratings ) ĊĠĠĠ Ġprivate Ġval Ġcontainer : ĠViewGroup Ġby Ġbind View ( R . id . container ) ĊĠĠĠ Ġprivate Ġval Ġtoolbar : ĠToolbar Ġby Ġbind View ( R . id . toolbar ) ĊĊĠĠĠ Ġprivate Ġvar Ġbusiness : ĠBusiness ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġgeo coder : ĠGeo coder ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( intent : ĠIntent , Ġinstance State : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġtoolbar !!. set Navigation OnClickListener Ġ{ Ġv Ġ-> Ġfinish After Transition () Ġ} ĊĠĠĠĠĠĠĠ Ġgeo coder Ġ= ĠGeo coder ( this , ĠLocale . getDefault ()) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( intent . has Extra ( EXTRA _ BUS INESS _ MODEL )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparcel able Ġ= Ġintent . get Parcelable Extra < Parcelable >( EXTRA _ BUS INESS _ MODEL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parcel able Ġis ĠBusiness ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind Business ( parcel able ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants Utils . show Toast ( this , Ġ" Cannot Ġload Ġbusiness Ġmodel ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish After Transition () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Default Locale ") ĊĠĠĠ Ġprivate Ġfun Ġbind Business ( business : ĠBusiness ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( business Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants Utils . show Toast ( this , Ġ" Cannot Ġfind Ġbusiness Ġmodel ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . business Ġ= Ġbusiness ĊĊĠĠĠĠĠĠĠ Ġ// Get Ġbusiness Ġdata ĊĠĠĠĠĠĠĠ Ġname !!. text Ġ= Ġbusiness . name ĊĠĠĠĠĠĠĠ Ġdesc !!. text Ġ= Ġif Ġ( business . desc Ġ== Ġnull ) Ġ" No Ġbusiness Ġdescription Ġfound " Ġelse Ġbusiness . desc ĊĠĠĠĠĠĠĠ Ġservice !!. text Ġ= Ġbusiness . category ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! business . addresses . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe uru Geo Point Ġ= Ġbusiness . addresses [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= Ġgeo coder !!. get From Location ( eur u Geo Point . lat , Ġe uru Geo Point . lng , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! location . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Set Ġlocation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddress !!. text Ġ= Ġlocation [ 0 ]. getAddress Line ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddress !!. text Ġ= ĠString . format ("% d Ġbranches Ġavailable ", Ġbusiness . addresses . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Get Ġuser ĊĠĠĠĠĠĠĠ Ġfire store . collection ( Constants Utils . COLLECTION _ USERS ). document ( business . user UID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get (). add On Complete Listener ( this ) Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( task . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġtask . result !!. toObject ( User :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname !!. text Ġ= Ġuser . name ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Drawable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( user . profile ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. circle Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . avatar _ placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . drawable . ic _ player ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . AUT OM AT IC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( avatar !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstants Utils . show Toast ( this @ Provider Details Activity , Ġtask . exception !!. localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish After Transition () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. add On Failure Listener ( this ) Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstants Utils . show Toast ( this @ Provider Details Activity , Ġe . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish After Transition () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdismiss Action ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfinish After Transition () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnext Action ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠBundle ( 0 ) ĊĠĠĠĠĠĠĠ Ġb . put Parcelable ( Request Service Activity . EXTRA _ BUS INESS _ MODEL , Ġbusiness ) ĊĠĠĠĠĠĠĠ ĠConstants Utils . intent To ( this , ĠRequest Service Activity :: class . java , Ġb ) ĊĠĠĠĠĠĠĠ Ġfinish After Transition () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠEX TRA _ BUS INESS _ MODEL Ġ= Ġ" EXTRA _ BUS INESS _ MODEL " ĊĠĠĠ Ġ} Ċ } Ċ