mapbox / mapbox/mapbox-navigation-android
crash while .startNavigation been called
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Kotlin
- Sterne
- 651
- Forks
- 321
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
My application crash when I try to use the navigation function while my network connection is on data(4G), when the connection is wifi, the navigation is working.
using android 8.0, kotliin and com.mapbox.navigation:ui:1.1.0
Code:
override fun onRoutesReady(routes: List) {
if (routes.isNullOrEmpty()) {
handleRouteError()
return
}
val optionsBuilder = NavigationViewOptions.builder(requireContext())
optionsBuilder.camera(SimpleCamera())
optionsBuilder.arrivalObserver(this)
optionsBuilder.shouldSimulateRoute(true)
optionsBuilder.directionsRoute(routes[0])
val options = optionsBuilder.build()
navigationView.startNavigation(options)
}
Crash :
2021-01-26 09:24:17.568 22164-22164/com.mannadelivery.delivery E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mannadelivery.delivery, PID: 22164
java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter unitType
at com.mapbox.navigation.core.internal.formatter.MapboxDistanceFormatter$Builder.unitType(Unknown Source:3)
at com.mapbox.navigation.ui.NavigationViewModel.buildDistanceFormatter(NavigationViewModel.java:339)
at com.mapbox.navigation.ui.NavigationViewModel.initializeDistanceFormatter(NavigationViewModel.java:310)
at com.mapbox.navigation.ui.NavigationViewModel.initialize(NavigationViewModel.java:183)
at com.mapbox.navigation.ui.NavigationView.initializeNavigation(NavigationView.java:844)
at com.mapbox.navigation.ui.NavigationView.startNavigation(NavigationView.java:453)
at com.mannadelivery.delivery.ui.main.fragments.MapFragment.onRoutesReady(MapFragment.kt:240)
at com.mapbox.navigation.core.directions.session.MapboxDirectionsSession$requestRoutes$1.onResponse(MapboxDirectionsSession.kt:85)
at com.mapbox.navigation.route.internal.hybrid.MapboxHybridRouter$RouterHandler.onResponse(MapboxHybridRouter.kt:124)
at com.mapbox.navigation.route.internal.onboard.MapboxOnboardRouter$retrieveRoute$1.invokeSuspend(MapboxOnboardRouter.kt:137)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Untersuchung von NavigationView.startNavigation sowie der im Stack-Trace aufgeführten NavigationViewModel.initializeDistanceFormatter und buildDistanceFormatter in Version 1.1.0. Reproduziere den Absturz unter Android 8.0 mit einer 4G-Verbindung und vergleiche ihn anschließend mit WLAN und dem bereitgestellten onRoutesReady-Ablauf. Als erledigt gilt die Aufgabe, wenn startNavigation im betroffenen Szenario die gemeldete Nullparameter-Ausnahme nicht mehr auslöst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, kotlin
- Bereich
- mobile-dev
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100