mapbox / mapbox/mapbox-navigation-android

crash while .startNavigation been called

Open
#3,924 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
651
Forks
321
PR merge metrics
No merged PRs in 30d

Description

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)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining NavigationView.startNavigation and the stack-traced NavigationViewModel.initializeDistanceFormatter and buildDistanceFormatter in version 1.1.0. Reproduce the crash on Android 8.0 with a 4G connection, then compare it with Wi-Fi and the provided onRoutesReady flow. Done means startNavigation no longer throws the reported null-parameter exception in the affected scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.