@@ -17,14 +17,13 @@ import com.mapbox.androidauto.MapboxCarNavigationManager
1717import com.mapbox.androidauto.car.MainCarContext
1818import com.mapbox.androidauto.car.MainScreenManager
1919import com.mapbox.androidauto.car.map.widgets.compass.CarCompassSurfaceRenderer
20- import com.mapbox.androidauto.car.map.widgets.logo.CarLogoSurfaceRenderer
2120import com.mapbox.androidauto.car.permissions.NeedsLocationPermissionsScreen
2221import com.mapbox.androidauto.deeplink.GeoDeeplinkNavigateAction
2322import com.mapbox.androidauto.internal.logAndroidAuto
2423import com.mapbox.androidauto.notification.CarNotificationInterceptor
25- import com.mapbox.maps.MapInitOptions
2624import com.mapbox.maps.MapboxExperimental
2725import com.mapbox.maps.extension.androidauto.MapboxCarMap
26+ import com.mapbox.maps.extension.androidauto.mapboxMapInstaller
2827import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
2928import com.mapbox.navigation.base.options.NavigationOptions
3029import com.mapbox.navigation.core.lifecycle.MapboxNavigationApp
@@ -36,19 +35,21 @@ import kotlinx.coroutines.launch
3635@OptIn(ExperimentalPreviewMapboxNavigationAPI ::class , MapboxExperimental ::class )
3736class MainCarSession : Session () {
3837
38+ private val carMapStyleLoader = MainCarMapLoader ()
39+ private val mapboxCarMap: MapboxCarMap = mapboxMapInstaller()
40+ .onCreated(carMapStyleLoader)
41+ .onResumed(CarCompassSurfaceRenderer (), CarCompassSurfaceRenderer ())
42+ .install()
43+
3944 private var mainCarContext: MainCarContext ? = null
4045 private lateinit var mainScreenManager: MainScreenManager
41- private lateinit var mapboxCarMap: MapboxCarMap
4246 private lateinit var mapboxNavigationManager: MapboxCarNavigationManager
43- private val carMapStyleLoader = MainCarMapLoader ()
4447 private val notificationInterceptor by lazy {
4548 CarNotificationInterceptor (carContext, MainCarAppService ::class .java)
4649 }
4750
4851 init {
4952 logAndroidAuto(" MainCarSession constructor" )
50- val logoSurfaceRenderer = CarLogoSurfaceRenderer ()
51- val compassSurfaceRenderer = CarCompassSurfaceRenderer ()
5253 MapboxNavigationApp .attach(lifecycleOwner = this )
5354 lifecycle.addObserver(object : DefaultLifecycleObserver {
5455
@@ -64,8 +65,6 @@ class MainCarSession : Session() {
6465 mapboxNavigationManager = MapboxCarNavigationManager (carContext)
6566 MapboxNavigationApp .registerObserver(mapboxNavigationManager)
6667
67- mapboxCarMap = MapboxCarMap (MapInitOptions (context = carContext))
68- mapboxCarMap.registerObserver(carMapStyleLoader)
6968 val mainCarContext = MainCarContext (carContext, mapboxCarMap)
7069 .also { mainCarContext = it }
7170 val mainScreenManager = MainScreenManager (mainCarContext)
@@ -79,26 +78,13 @@ class MainCarSession : Session() {
7978 MapboxNavigationApp .registerObserver(notificationInterceptor)
8079 }
8180
82- override fun onResume (owner : LifecycleOwner ) {
83- logAndroidAuto(" MainCarSession onResume" )
84- mapboxCarMap.registerObserver(logoSurfaceRenderer)
85- mapboxCarMap.registerObserver(compassSurfaceRenderer)
86- }
87-
88- override fun onPause (owner : LifecycleOwner ) {
89- logAndroidAuto(" MainCarSession onPause" )
90- mapboxCarMap.unregisterObserver(logoSurfaceRenderer)
91- mapboxCarMap.unregisterObserver(compassSurfaceRenderer)
92- }
93-
9481 override fun onStop (owner : LifecycleOwner ) {
9582 logAndroidAuto(" MainCarSession onStop" )
9683 }
9784
9885 override fun onDestroy (owner : LifecycleOwner ) {
9986 logAndroidAuto(" MainCarSession onDestroy" )
10087 MapboxNavigationApp .unregisterObserver(mapboxNavigationManager)
101- mapboxCarMap.unregisterObserver(carMapStyleLoader)
10288 mainCarContext = null
10389 MapboxNavigationApp .unregisterObserver(notificationInterceptor)
10490 }
0 commit comments