mapbox / mapbox/mapbox-navigation-android

crash while .startNavigation been called

Offen
#3,924 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.