Skip to content

Commit

Permalink
Start migration
Browse files Browse the repository at this point in the history
  • Loading branch information
kmadsen committed Aug 12, 2022
1 parent 6232549 commit 551f9b1
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 28 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ android {

dependencies {
// Mapbox Navigation SDK
implementation "com.mapbox.navigation:android:2.5.1"
implementation "com.mapbox.navigation:android:2.8.0-alpha.2"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31"
implementation "androidx.core:core-ktx:1.7.0"
implementation "com.google.android.material:material:1.5.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import android.location.Location
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
import com.mapbox.api.directions.v5.models.RouteOptions
import com.mapbox.geojson.Point
Expand All @@ -26,8 +28,9 @@ import com.mapbox.navigation.base.route.RouterFailure
import com.mapbox.navigation.base.route.RouterOrigin
import com.mapbox.navigation.base.trip.model.RouteProgress
import com.mapbox.navigation.core.MapboxNavigation
import com.mapbox.navigation.core.MapboxNavigationProvider
import com.mapbox.navigation.core.directions.session.RoutesObserver
import com.mapbox.navigation.core.lifecycle.MapboxNavigationApp
import com.mapbox.navigation.core.lifecycle.MapboxNavigationObserver
import com.mapbox.navigation.core.replay.MapboxReplayer
import com.mapbox.navigation.core.replay.ReplayLocationEngine
import com.mapbox.navigation.core.replay.route.ReplayProgressObserver
Expand Down Expand Up @@ -240,13 +243,38 @@ class ShowAlternativeRoutesActivity : AppCompatActivity() {
}

@SuppressLint("MissingPermission")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityShowAlternativeRoutesBinding.inflate(layoutInflater)
setContentView(binding.root)
val navigationCreatedObserver = object : MapboxNavigationObserver {
override fun onAttached(mapboxNavigation: MapboxNavigation) {
this@ShowAlternativeRoutesActivity.mapboxNavigation = mapboxNavigation
mapboxNavigation.startTripSession()
}

override fun onDetached(mapboxNavigation: MapboxNavigation) {
// mapboxNavigation is invalid
}
}

// initialize Mapbox Navigation
mapboxNavigation = MapboxNavigationProvider.create(
val navigationResumedObserver = object : MapboxNavigationObserver {
override fun onAttached(mapboxNavigation: MapboxNavigation) {
mapboxNavigation.registerLocationObserver(locationObserver)
mapboxNavigation.registerRouteProgressObserver(replayProgressObserver)
mapboxNavigation.registerRoutesObserver(routesObserver)
mapboxNavigation.registerRouteAlternativesObserver(alternativesObserver)
binding.mapView.gestures.addOnMapClickListener(mapClickListener)
}

override fun onDetached(mapboxNavigation: MapboxNavigation) {
mapboxNavigation.unregisterRouteProgressObserver(replayProgressObserver)
mapboxNavigation.unregisterLocationObserver(locationObserver)
mapboxNavigation.unregisterRoutesObserver(routesObserver)
mapboxNavigation.unregisterRouteAlternativesObserver(alternativesObserver)
binding.mapView.gestures.removeOnMapClickListener(mapClickListener)
}
}

init {
// You can setup MapboxNavigation at any part of the app lifecycle.
MapboxNavigationApp.setup(
NavigationOptions.Builder(this)
.accessToken(getString(R.string.mapbox_access_token))
.locationEngine(ReplayLocationEngine(mapboxReplayer))
Expand All @@ -256,7 +284,31 @@ class ShowAlternativeRoutesActivity : AppCompatActivity() {
.build()
)
.build()
)
).attach(this)

lifecycle.addObserver(object : DefaultLifecycleObserver {
override fun onCreate(owner: LifecycleOwner) {
MapboxNavigationApp.registerObserver(navigationCreatedObserver)
}

override fun onResume(owner: LifecycleOwner) {
MapboxNavigationApp.registerObserver(navigationResumedObserver)
}

override fun onPause(owner: LifecycleOwner) {
MapboxNavigationApp.unregisterObserver(navigationResumedObserver)
}

override fun onDestroy(owner: LifecycleOwner) {
MapboxNavigationApp.unregisterObserver(navigationCreatedObserver)
}
})
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityShowAlternativeRoutesBinding.inflate(layoutInflater)
setContentView(binding.root)

binding.mapView.getMapboxMap().loadStyleUri(
NavigationStyles.NAVIGATION_DAY_STYLE
Expand All @@ -270,33 +322,14 @@ class ShowAlternativeRoutesActivity : AppCompatActivity() {
findRoute(originPoint, destinationPoint)
}

binding.mapView.gestures.addOnMapClickListener(mapClickListener)
replayOriginLocation()
mapboxNavigation.startTripSession()
}

override fun onStart() {
super.onStart()
mapboxNavigation.registerLocationObserver(locationObserver)
mapboxNavigation.registerRouteProgressObserver(replayProgressObserver)
mapboxNavigation.registerRoutesObserver(routesObserver)
mapboxNavigation.registerRouteAlternativesObserver(alternativesObserver)
}

override fun onStop() {
super.onStop()
mapboxNavigation.unregisterRouteProgressObserver(replayProgressObserver)
mapboxNavigation.unregisterLocationObserver(locationObserver)
mapboxNavigation.unregisterRoutesObserver(routesObserver)
mapboxNavigation.unregisterRouteAlternativesObserver(alternativesObserver)
}

override fun onDestroy() {
super.onDestroy()
routeLineApi.cancel()
routeLineView.cancel()
mapboxReplayer.finish()
mapboxNavigation.onDestroy()
}

/**
Expand Down

0 comments on commit 551f9b1

Please sign in to comment.