package Ġcom . mapbox . navigation . base . trip . model Ċ Ċ import Ġcom . mapbox . api . directions . v 5 . models . Banner Instructions Ċ import Ġcom . mapbox . api . directions . v 5 . models . Directions Route Ċ import Ġcom . mapbox . api . directions . v 5 . models . Voice Instructions Ċ import Ġcom . mapbox . geojson . Point Ċ import Ġcom . mapbox . navigation . base . trip . model . road object . Up coming Road Object Ċ Ċ /** Ċ Ġ* ĠThis Ġclass Ġcontains Ġall Ġprogress Ġinformation Ġat Ġany Ġgiven Ġtime Ġduring Ġa Ġnavigation Ġsession . ĠThis Ċ Ġ* Ġprogress Ġincludes Ġinformation Ġfor Ġthe Ġcurrent Ġroute , Ġleg , Ġand Ġstep Ġthat Ġthe Ġuser Ġis Ġtravel ing Ġalong . Ċ Ġ* ĠWith Ġevery Ġnew Ġvalid Ġlocation Ġupdate , Ġa Ġnew Ġroute Ġprogress Ġwill Ġbe Ġgenerated Ġusing Ġthe Ġlatest Ċ Ġ* Ġinformation . Ċ Ġ* Ċ Ġ* ĠThe Ġlatest Ġroute Ġprogress Ġobject Ġcan Ġbe Ġobtained Ġthrough Ġthe Ġ[ Route Progress Observer ]. Ċ Ġ* ĠNote Ġthat Ġthe Ġroute Ġprogress Ġobject 's Ġimmutable . Ċ Ġ* Ċ Ġ* Ġ@ param Ġroute Ġ[ Directions Route ] Ġthe Ġnavigation Ġsession Ġis Ġcurrently Ġusing . ĠWhen Ġa Ġrer oute Ġoccurs Ġand Ġa Ġnew Ċ Ġ* Ġdirections Ġroute Ġgets Ġobtained , Ġwith Ġthe Ġnext Ġlocation Ġupdate Ġthis Ġdirections Ġroute Ġshould Ċ Ġ* Ġreflect Ġthe Ġnew Ġroute . Ċ Ġ* Ġ@ param Ġbanner Instructions Ġ[ Banner Instructions ] Ġcurrent Ġinstructions Ġfor Ġvisual Ġguidance . Ċ Ġ* Ġ@ param Ġvoice Instructions Ġ[ Voice Instructions ] Ġcurrent Ġinstruction Ġfor Ġaudio Ġguidance . Ċ Ġ* Ġ@ param Ġcurrent State Ġ[ Route Progress State ] Ġthe Ġcurrent Ġstate Ġof Ġprogress Ġalong Ġthe Ġroute . Ċ Ġ* ĠProvides Ġroute Ġand Ġlocation Ġtracking Ġinformation . Ċ Ġ* Ġ@ param Ġcurrent Leg Progress Ġ[ Route Leg Progress ] Ġcurrent Ġprogress Ġof Ġthe Ġactive Ġleg , Ġincludes Ċ Ġ* Ġtime Ġand Ġdistance Ġestim ations . Ċ Ġ* Ġ@ param Ġupcoming Step Points Ġ[ List ][ Point ] Ġlocation Ġcoordinates Ġdescribing Ġthe Ġupcoming Ġstep . Ċ Ġ* Ġ@ param Ġin Tunnel Ġ[ Boolean ] Ġvalue Ġindicating Ġwhether Ġthe Ġcurrent Ġlocation Ġis Ġin Ġa Ġtunnel . Ċ Ġ* Ġ@ param Ġdistance Remaining Ġ[ Float ] Ġprovides Ġthe Ġdistance Ġremaining Ġin Ġmeters Ġuntil Ġthe Ġuser Ċ Ġ* Ġreaches Ġthe Ġend Ġof Ġthe Ġroute . Ċ Ġ* Ġ@ param Ġdistance Tr ave led Ġ[ Float ] Ġrepresenting Ġthe Ġdistance Ġtr ave led Ġalong Ġthe Ġroute Ġin Ġmeters . Ċ Ġ* Ġ@ param Ġduration Remaining Ġ[ Double ] Ġseconds Ġtime Ġremaining Ġuntil Ġthe Ġroute Ġdestination Ġis Ġreached . Ċ Ġ* Ġ@ param Ġfraction Tr ave led Ġ[ Float ] Ġfraction Ġtr ave led Ġalong Ġthe Ġcurrent Ġroute . ĠThis Ġvalue Ġis Ċ Ġ* Ġbetween Ġ 0 Ġand Ġ 1 Ġand Ġisn 't Ġguaranteed Ġto Ġreach Ġ 1 Ġbefore Ġthe Ġuser Ġreaches Ġthe Ġend Ġof Ġthe Ġroute . Ċ Ġ* Ġ@ param Ġremaining Way points Ġ[ Int ] Ġnumber Ġof Ġway points Ġremaining Ġon Ġthe Ġcurrent Ġroute . Ċ Ġ* Ġ@ param Ġupcoming Road Objects Ġlist Ġof Ġupcoming Ġroad Ġobjects . Ċ Ġ* Ġ@ param Ġstale Ġ` true ` Ġif Ġthere Ġwere Ġno Ġlocation Ġupdates Ġfor Ġa Ġsignificant Ġamount Ġwhich Ġcauses Ċ Ġ* Ġa Ġlack Ġof Ġconfidence Ġin Ġthe Ġprogress Ġupdates Ġbeing Ġsent . Ċ Ġ*/ Ċ class ĠRoute Progress Ġprivate Ġconstructor ( ĊĠĠĠ Ġval Ġroute : ĠDirection s Route , ĊĠĠĠ Ġval Ġbanner Instructions : ĠBanner Instructions ?, ĊĠĠĠ Ġval Ġvoice Instructions : ĠVoice Instructions ?, ĊĠĠĠ Ġval Ġcurrent State : ĠRoute Progress State , ĊĠĠĠ Ġval Ġcurrent Leg Progress : ĠRoute Leg Progress ?, ĊĠĠĠ Ġval Ġupcoming Step Points : ĠList < Point > ?, ĊĠĠĠ Ġval Ġin Tunnel : ĠBoolean , ĊĠĠĠ Ġval Ġdistance Remaining : ĠFloat , ĊĠĠĠ Ġval Ġdistance Tr ave led : ĠFloat , ĊĠĠĠ Ġval Ġduration Remaining : ĠDouble , ĊĠĠĠ Ġval Ġfraction Tr ave led : ĠFloat , ĊĠĠĠ Ġval Ġremaining Way points : ĠInt , ĊĠĠĠ Ġval Ġupcoming Road Objects : ĠList < Up coming Road Object >, ĊĠĠĠ Ġval Ġstale : ĠBoolean Ċ ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return Ġbuilder Ġmatching Ġthe Ġone Ġused Ġto Ġcreate Ġthis Ġinstance ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Builder (): ĠBuilder Ġ= ĠBuilder ( route ) ĊĠĠĠĠĠĠĠ Ġ. banner Instructions ( banner Instructions ) ĊĠĠĠĠĠĠĠ Ġ. voice Instructions ( voice Instructions ) ĊĠĠĠĠĠĠĠ Ġ. currentState ( currentState ) ĊĠĠĠĠĠĠĠ Ġ. current Leg Progress ( current Leg Progress ) ĊĠĠĠĠĠĠĠ Ġ. up coming Step Points ( up coming Step Points ) ĊĠĠĠĠĠĠĠ Ġ. in Tunnel ( in Tunnel ) ĊĠĠĠĠĠĠĠ Ġ. distance Remaining ( distance Remaining ) ĊĠĠĠĠĠĠĠ Ġ. distance Tr ave led ( distance Tr ave led ) ĊĠĠĠĠĠĠĠ Ġ. duration Remaining ( duration Remaining ) ĊĠĠĠĠĠĠĠ Ġ. fraction Tr ave led ( fraction Tr ave led ) ĊĠĠĠĠĠĠĠ Ġ. remaining Way points ( remaining Way points ) ĊĠĠĠĠĠĠĠ Ġ. up coming Road Objects ( up coming Road Objects ) ĊĠĠĠĠĠĠĠ Ġ. st ale ( st ale ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġwhether Ġsome Ġother Ġobject Ġis Ġ" equal Ġto " Ġthis Ġone . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠRoute Progress ĊĊĠĠĠĠĠĠĠ Ġif Ġ( route Ġ!= Ġother . route ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( banner Instructions Ġ!= Ġother . banner Instructions ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( voice Instructions Ġ!= Ġother . voice Instructions ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( currentState Ġ!= Ġother . currentState ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( current Leg Progress Ġ!= Ġother . current Leg Progress ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( up coming Step Points Ġ!= Ġother . up coming Step Points ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( in Tunnel Ġ!= Ġother . in Tunnel ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( distance Remaining Ġ!= Ġother . distance Remaining ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( distance Tr ave led Ġ!= Ġother . distance Tr ave led ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( duration Remaining Ġ!= Ġother . duration Remaining ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( fraction Tr ave led Ġ!= Ġother . fraction Tr ave led ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( remaining Way points Ġ!= Ġother . remaining Way points ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( up coming Road Objects Ġ!= Ġother . up coming Road Objects ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( st ale Ġ!= Ġother . st ale ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġhash Ġcode Ġvalue Ġfor Ġthe Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġroute . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( banner Instructions ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( voice Instructions ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġcurrent State . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( current Leg Progress ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( up coming Step Points ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġin Tunnel . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdistance Remaining . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdistance Tr ave led . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġduration Remaining . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġfraction Tr ave led . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġremaining Way points ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġupcoming Road Objects . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġstale . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġstring Ġrepresentation Ġof Ġthe Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Route Progress (" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" route =$ route , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" banner Instructions =$ banner Instructions , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" voice Instructions =$ voice Instructions , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" currentState =$ currentState , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" current Leg Progress =$ current Leg Progress , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" up coming Step Points =$ up coming Step Points , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" in Tunnel =$ in Tunnel , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" distance Remaining =$ distance Remaining , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" distance Tr ave led =$ distance Tr ave led , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" duration Remaining =$ duration Remaining , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" fraction Tr ave led =$ fraction Tr ave led , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" remaining Way points =$ remaining Way points , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" up coming Road Objects =$ up coming Road Objects , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" st ale =$ st ale " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ")" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBuilder Ġfor Ġ[ Route Progress ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġroute Ġ[ Directions Route ] Ġcurrently Ġis Ġused Ġfor Ġthe Ġnavigation Ġsession ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠBuilder ( private Ġval Ġroute : ĠDirection s Route ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġbanner Instructions : ĠBanner Instructions ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġvoice Instructions : ĠVoice Instructions ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġcurrent State : ĠRoute Progress State Ġ= ĠRoute Progress State . INITIAL IZED ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġcurrent Leg Progress : ĠRoute Leg Progress ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġupcoming Step Points : ĠList < Point >? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġin Tunnel : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġdistance Remaining : ĠFloat Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġdistance Tr ave led : ĠFloat Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġduration Remaining : ĠDouble Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġfraction Tr ave led : ĠFloat Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġremaining Way points : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġupcoming Road Objects : ĠList < Up coming Road Object > Ġ= Ġempty List () ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġstale : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCurrent Ġbanner Ġinstruction . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbanner Instructions ( banner Instructions : ĠBanner Instructions ?): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . banner Instructions Ġ= Ġbanner Instructions Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCurrent Ġvoice Ġinstruction . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġvoice Instructions ( voice Instructions : ĠVoice Instructions ?): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . voice Instructions Ġ= Ġvoice Instructions Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġcurrent Ġstate Ġof Ġprogress Ġalong Ġthe Ġroute . ĠProvides Ġroute Ġand Ġlocation Ġtracking ĊĠĠĠĠĠĠĠĠ Ġ* Ġinformation . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġcurrent State ( currentState : ĠRoute Progress State ): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . currentState Ġ= Ġcurrent State Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ Route Leg Progress ] Ġobject Ġwith Ġinformation Ġabout Ġthe Ġparticular Ġleg Ġthe Ġuser Ġis ĊĠĠĠĠĠĠĠĠ Ġ* Ġcurrently Ġon . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġcurrent Leg Progress ( leg Progress : ĠRoute Leg Progress ?): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . current Leg Progress Ġ= Ġleg Progress Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġlist Ġof Ġpoints Ġthat Ġrepresent Ġthe Ġupcoming Ġstep Ġgeometry . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġupcoming Step Points ( up coming Step Points : ĠList < Point >? ): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . up coming Step Points Ġ= Ġupcoming Step Points Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* true * Ġif Ġin Ġa Ġtunnel , Ġ* false * Ġotherwise ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġin Tunnel ( in Tunnel : ĠBoolean ): ĠBuilder Ġ= Ġapply Ġ{ Ġthis . in Tunnel Ġ= Ġin Tunnel Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdistance Ġremaining Ġin Ġmeters Ġuntil Ġthe Ġuser Ġreaches Ġthe Ġend Ġof Ġthe Ġroute . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdistance Remaining ( distance Remaining : ĠFloat ): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . distance Remaining Ġ= Ġdistance Remaining Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠTotal Ġdistance Ġtr ave led Ġin Ġmeters Ġalong Ġthe Ġroute . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdistance Tr ave led ( distance Tr ave led : ĠFloat ): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . distance Tr ave led Ġ= Ġdistance Tr ave led Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġduration Ġremaining Ġin Ġseconds Ġuntil Ġthe Ġuser Ġreaches Ġthe Ġend Ġof Ġthe Ġroute ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġduration Remaining ( duration Remaining : ĠDouble ): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . duration Remaining Ġ= Ġduration Remaining Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġfraction Ġtr ave led Ġalong Ġthe Ġcurrent Ġroute . ĠThis Ġis Ġa Ġfloat Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 Ġand ĊĠĠĠĠĠĠĠĠ Ġ* Ġisn 't Ġguaranteed Ġto Ġreach Ġ 1 Ġbefore Ġthe Ġuser Ġreaches Ġthe Ġend Ġof Ġthe Ġroute . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġfraction Tr ave led ( fraction Tr ave led : ĠFloat ): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . fraction Tr ave led Ġ= Ġfraction Tr ave led Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNumber Ġof Ġway points Ġremaining Ġon Ġthe Ġcurrent Ġroute ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġremaining Way points ( remaining Way points : ĠInt ): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . remaining Way points Ġ= Ġremaining Way points Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠList Ġof Ġupcoming Ġroad Ġobjects Ġwith Ġdistances Ġfrom Ġcurrent Ġlocation Ġto Ġeach Ġof Ġthem . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġupcoming Road Objects ( up coming Road Objects : ĠList < Up coming Road Object >): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . up coming Road Objects Ġ= Ġupcoming Road Objects Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠTrue Ġif Ġthere Ġwere Ġno Ġlocation Ġupdates Ġfor Ġa Ġsignificant Ġamount Ġof Ġtime Ġwhich Ġcauses ĊĠĠĠĠĠĠĠĠ Ġ* Ġa Ġlack Ġof Ġconfidence Ġin Ġthe Ġprogress Ġupdates Ġbeing Ġsent . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġstale ( st ale : ĠBoolean ): ĠBuilder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . st ale Ġ= Ġstale Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠBuild Ġnew Ġinstance Ġof Ġ[ Route Progress ] ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠRoute Progress ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException Ġif Ġ[ Directions Route ] Ġis Ġnot Ġprovided ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠRoute Progress Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRoute Progress ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroute , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbanner Instructions , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvoice Instructions , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Leg Progress , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupcoming Step Points , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Tunnel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Remaining , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Tr ave led , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġduration Remaining , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfraction Tr ave led , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremaining Way points , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupcoming Road Objects , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstale ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ