package Ġcom . mapbox . examples . android auto . car . navigation Ċ Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . location . Location Ċ import Ġcom . mapbox . android auto . car . map . Map box Car Map Observer Ċ import Ġcom . mapbox . android auto . car . map . Map box Car Map Surface Ċ import Ġcom . mapbox . android auto . log Android Auto Ċ import Ġcom . mapbox . geojson . Point Ċ import Ġcom . mapbox . maps . Camera Options Ċ import Ġcom . mapbox . maps . Edge Insets Ċ import Ġcom . mapbox . maps . plugin . animation . camera Ċ import Ġcom . mapbox . navigation . core . Map box Navigation Ċ import Ġcom . mapbox . navigation . core . trip . session . Location Matcher Result Ċ import Ġcom . mapbox . navigation . core . trip . session . Location Observer Ċ import Ġcom . mapbox . navigation . ui . maps . camera . Navigation Camera Ċ import Ġcom . mapbox . navigation . ui . maps . camera . data . Map box Navigation Viewport DataSource Ċ import Ġcom . mapbox . navigation . ui . maps . camera . transition . Navigation Camera Transition Options Ċ Ċ class ĠCar Locations Overview Camera ( ĊĠĠĠ Ġval Ġmap box Navigation : ĠMap box Navigation , ĊĠĠĠ Ġprivate Ġval Ġinitial Camera Options : ĠCamera Options Ġ= ĠCamera Options . Builder () ĊĠĠĠĠĠĠĠ Ġ. zoom ( DEFAULT _ INITIAL _ ZO OM ) ĊĠĠĠĠĠĠĠ Ġ. build () Ċ ) Ġ: ĠMap box Car Map Observer Ġ{ ĊĊĠĠĠ Ġinternal Ġvar Ġmap box Car Map Surface : ĠMap box Car Map Surface ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġnavigation Camera : ĠNavigation Camera ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġviewport DataSource : ĠMap box Navigation Viewport DataSource ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġinternal Ġvar Ġis Location Initialized Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġprivate Ġvar Ġlatest Location : ĠLocation ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġlocation Observer Ġ= Ġobject Ġ: ĠLocation Observer Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon New Raw Location ( raw Location : ĠLocation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġnot Ġhandled ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon New Location Matcher Result ( location Matcher Result : ĠLocation Matcher Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠInitialize Ġthe Ġcamera Ġat Ġthe Ġcurrent Ġlocation . ĠThe Ġnext Ġlocation Ġwill ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtransition Ġinto Ġthe Ġoverview Ġmode . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlatest Location Ġ= Ġlocation Matcher Result . en hanced Location ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewport DataSource . on Location Changed ( location Matcher Result . en hanced Location ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewport DataSource . evaluate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Location Initialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Location Initialized Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinstant Transition Ġ= ĠNavigation Camera Transition Options . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. max Duration ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Camera . request Navigation Camera To Overview ( state Transition Options Ġ= Ġinstant Transition ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġloaded ( mapbox Car Map Surface : ĠMap box Car Map Surface ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . loaded ( mapbox Car Map Surface ) ĊĠĠĠĠĠĠĠ Ġthis . mapbox Car Map Surface Ġ= Ġmap box Car Map Surface ĊĠĠĠĠĠĠĠ Ġlog Android Auto (" Locations Overview Camera Ġloaded Ġ$ mapbox Car Map Surface ") ĊĊĠĠĠĠĠĠĠ Ġval Ġmap box Map Ġ= Ġmap box Car Map Surface . map Surface . getMap box Map (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Camera ( initial Camera Options ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġviewport DataSource Ġ= ĠMap box Navigation Viewport DataSource ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap box Car Map Surface . map Surface . getMap box Map () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġnavigation Camera Ġ= ĠNavigation Camera ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap box Map , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap box Car Map Surface . map Surface . camera , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewport DataSource ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġmap box Navigation . register Location Observer ( location Observer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisible Area Changed ( visible Area : ĠRect , Ġedge Insets : ĠEdgeInsets ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . visible Area Changed ( visible Area , Ġedge Insets ) ĊĠĠĠĠĠĠĠ Ġlog Android Auto (" Locations Overview Camera Ġvisible Area Changed Ġ$ visible Area Ġ$ edge Insets ") ĊĊĠĠĠĠĠĠĠ Ġviewport DataSource . overview Padding Ġ= ĠEdgeInsets ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Insets . top Ġ+ ĠOVER VIEW _ P ADDING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Insets . left Ġ+ ĠOVER VIEW _ P ADDING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Insets . bottom Ġ+ ĠOVER VIEW _ P ADDING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Insets . right Ġ+ ĠOVER VIEW _ P ADDING ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġviewport DataSource . evaluate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdet ached ( mapbox Car Map Surface : ĠMap box Car Map Surface ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . det ached ( mapbox Car Map Surface ) ĊĠĠĠĠĠĠĠ Ġlog Android Auto (" Locations Overview Camera Ġdet ached Ġ$ mapbox Car Map Surface ") ĊĊĠĠĠĠĠĠĠ Ġmap box Navigation . unregister Location Observer ( location Observer ) ĊĠĠĠĠĠĠĠ Ġthis . mapbox Car Map Surface Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġis Location Initialized Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate With Locations ( points : ĠList < Point >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( points . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Android Auto (" Locations Overview Camera Ġupdate With Locations ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewport DataSource . additional Points To Frame For Overview ( points ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewport DataSource . clear Route Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewport DataSource . evaluate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠOVER VIEW _ P ADDING Ġ= Ġ 1 5 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ INITIAL _ ZO OM Ġ= Ġ 1 5 . 0 ĊĠĠĠ Ġ} Ċ } Ċ