mapbox / mapbox/mapbox-navigation-android-examples
Historical trajectory replay problem
まだ誰も着手していません。
- 主要言語
- Kotlin
- スター
- 65
- フォーク
- 56
- 平均マージ
- 1日 4時間
- マージ済み PR(30日)
- 2
説明
Using v3Demo, the navigation SDK was upgraded to 3.7.0, and an abnormal error was reported when using the historical replay function:
Error log:
java.lang.IllegalStateException: native CUSTOM origin isn't supported
at com.mapbox.navigation.base.internal.utils.RouterExKt.mapToSdkRouteOrigin(RouterEx.kt:22)
at com.mapbox.navigation.core.history.model.HistoryEventMapper.mapNavigationRoutes(HistoryEventMapper.kt:104)
at com.mapbox.navigation.core.history.model.HistoryEventMapper.mapSetRoute(HistoryEventMapper.kt:73)
at com.mapbox.navigation.core.history.model.HistoryEventMapper.map(HistoryEventMapper.kt:41)
at com.mapbox.navigation.core.history.MapboxHistoryReader.loadNext(MapboxHistoryReader.kt:44)
at com.mapbox.navigation.core.history.MapboxHistoryReader.next(MapboxHistoryReader.kt:38)
at com.mapbox.navigation.core.history.MapboxHistoryReader.next(MapboxHistoryReader.kt:13)
at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:210)
at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:170)
at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194)
at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:787)
at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:817)
at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:808)
at com.mapbox.navigation.examples.standalone.replay.HistoryFileLoader$loadDefaultReplayHistory$2.invokeSuspend(HistoryFileLoader.kt:50)
at com.mapbox.navigation.examples.standalone.replay.HistoryFileLoader$loadDefaultReplayHistory$2.invoke(Unknown Source:8)
at com.mapbox.navigation.examples.standalone.replay.HistoryFileLoader$loadDefaultReplayHistory$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
at com.mapbox.navigation.examples.standalone.replay.HistoryFileLoader.loadDefaultReplayHistory(HistoryFileLoader.kt:37)
at com.mapbox.navigation.examples.standalone.replay.HistoryFileLoader$loadReplayHistory$2.invokeSuspend(HistoryFileLoader.kt:25)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@fe0fdc5, Dispatchers.Main.immediate]
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
v3Demo の履歴リプレイフローと、スタックトレースのエントリポイントである HistoryFileLoader、HistoryEventMapper、RouterExKt から始めます。navigation SDK 3.7.0 でリプレイの失敗を再現し、その後 CUSTOM の origin マッピングパスを追跡します。履歴リプレイが報告された IllegalStateException なしで読み込まれれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- android, kotlin
- 領域
- mobile
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100