mapbox / mapbox/mapbox-navigation-android
crash while .startNavigation been called
Nessuno ha ancora preso questa issue.
- Lingua principale
- Kotlin
- Stelle
- 651
- Fork
- 321
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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)
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando NavigationView.startNavigation e NavigationViewModel.initializeDistanceFormatter e buildDistanceFormatter indicati nello stack trace nella versione 1.1.0. Riproduci il crash su Android 8.0 con una connessione 4G, quindi confrontalo con il Wi-Fi e con il flusso onRoutesReady fornito. Il lavoro è completo quando startNavigation non genera più l'eccezione relativa al parametro null segnalata nello scenario interessato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, kotlin
- Ambito
- mobile-dev
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100