Skip to content

Commit 40c0eb5

Browse files
Bump NN (#7753)
* Bump NN; Support treeTrailingLength * Adjust initializers logic * Changelog * Address code review comments
1 parent 5b9fac2 commit 40c0eb5

File tree

12 files changed

+83
-27
lines changed

12 files changed

+83
-27
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- Fix adasis generator errors related to the split edges.
2+
- Fix adas cache tiles eviction mechanism.
3+
- Handle "unlilimited" speed limits in Adasis.
4+
- Fixed possible `java.lang.UnsatisfiedLinkError` crash on application startup when Mapbox native libraries could not yet be found.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- Added new property `AdasisDataSendingConfig.treeTrailingLength` that allows to specify the trailing length of the path tree, relatively to the map-matched position, in the adasis provider.
2+
- Meaningful `RouterFailure.code` for directions api errors.

gradle/dependencies.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ext {
1313
// version which we should use in this build
1414
def mapboxNavigatorVersion = System.getenv("FORCE_MAPBOX_NAVIGATION_NATIVE_VERSION")
1515
if (mapboxNavigatorVersion == null || mapboxNavigatorVersion == '') {
16-
mapboxNavigatorVersion = '201.0.0'
16+
mapboxNavigatorVersion = '202.0.0'
1717
}
1818
println("Navigation Native version: " + mapboxNavigatorVersion)
1919
def androidXWorkManagerVersion = project.hasProperty('WORK_MANAGER_VERSION') ? project.property('WORK_MANAGER_VERSION') : '2.7.0'
@@ -22,10 +22,10 @@ ext {
2222
println("AndroidX Lifecycle version: " + androidXLifecycleVersion)
2323

2424
version = [
25-
mapboxMapSdk : '10.16.4',
25+
mapboxMapSdk : '10.16.5',
2626
mapboxSdkServices : '6.15.0',
2727
mapboxNavigator : "${mapboxNavigatorVersion}",
28-
mapboxCommonNative : '23.8.6',
28+
mapboxCommonNative : '23.9.0',
2929
mapboxCrashMonitor : '2.0.0',
3030
mapboxAnnotationPlugin : '0.8.0',
3131
mapboxBaseAndroid : '0.8.0',

libnavigation-core/api/current.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,13 @@ package com.mapbox.navigation.core {
198198

199199
}
200200

201+
package com.mapbox.navigation.core.accounts {
202+
203+
public final class BillingControllerKt {
204+
}
205+
206+
}
207+
201208
package com.mapbox.navigation.core.adas {
202209

203210
@com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI public final class AdasEdgeAttributes {
@@ -362,13 +369,15 @@ package com.mapbox.navigation.core.adas {
362369
method public int getMessagesInPackage();
363370
method public int getMetadataCycleSeconds();
364371
method public int getRetransmissionMeters();
372+
method public int getTreeTrailingLength();
365373
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder toBuilder();
366374
property public final boolean enableRetransmission;
367375
property public final com.mapbox.navigation.core.adas.AdasisMessageBinaryFormat messageBinaryFormat;
368376
property public final int messageIntervalMs;
369377
property public final int messagesInPackage;
370378
property public final int metadataCycleSeconds;
371379
property public final int retransmissionMeters;
380+
property public final int treeTrailingLength;
372381
}
373382

374383
public static final class AdasisDataSendingConfig.Builder {
@@ -379,6 +388,7 @@ package com.mapbox.navigation.core.adas {
379388
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder messagesInPackage(int messagesInPackage);
380389
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder metadataCycleSeconds(int metadataCycleSeconds);
381390
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder retransmissionMeters(int retransmissionMeters);
391+
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder treeTrailingLength(int treeTrailingLength);
382392
}
383393

384394
@com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI public abstract class AdasisMessageBinaryFormat {

libnavigation-core/lint.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,11 @@
55
Try removing the line after updating androidx.lifecycle libraries
66
-->
77
<issue id="NullSafeMutableLiveData" severity="ignore" />
8+
9+
<!--
10+
MapboxNavigationSDKInitializerImpl is not declared in AndroidManifest.xml on purpose as
11+
it is called from MapboxNavigationSDKInitializer extending BaseMapboxInitializer to
12+
avoid crashing on startup if native library is not found.
13+
-->
14+
<issue id="EnsureInitializerMetadata" severity="ignore" />
815
</lint>

libnavigation-core/src/main/java/com/mapbox/navigation/core/MapboxNavigation.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import com.mapbox.api.directions.v5.models.DirectionsRoute
1616
import com.mapbox.api.directions.v5.models.RouteOptions
1717
import com.mapbox.bindgen.Expected
1818
import com.mapbox.bindgen.ExpectedFactory
19+
import com.mapbox.common.BaseMapboxInitializer
1920
import com.mapbox.common.TilesetDescriptor
2021
import com.mapbox.common.module.provider.MapboxModuleProvider
2122
import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
@@ -60,6 +61,7 @@ import com.mapbox.navigation.core.directions.session.SetNavigationRoutesStartedO
6061
import com.mapbox.navigation.core.directions.session.Utils
6162
import com.mapbox.navigation.core.history.MapboxHistoryReader
6263
import com.mapbox.navigation.core.history.MapboxHistoryRecorder
64+
import com.mapbox.navigation.core.internal.MapboxNavigationSDKInitializerImpl
6365
import com.mapbox.navigation.core.internal.ReachabilityService
6466
import com.mapbox.navigation.core.internal.telemetry.CustomEvent
6567
import com.mapbox.navigation.core.internal.telemetry.UserFeedbackCallback
@@ -433,6 +435,8 @@ class MapboxNavigation @VisibleForTesting internal constructor(
433435
private set
434436

435437
init {
438+
BaseMapboxInitializer.init(MapboxNavigationSDKInitializerImpl::class.java)
439+
436440
if (hasInstance) {
437441
throw IllegalStateException(
438442
"""

libnavigation-core/src/main/java/com/mapbox/navigation/core/adas/AdasisDataSendingConfig.kt

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
1212
* @param enableRetransmission if true, retransmission will be enabled
1313
* (package will be appended with retransmission data, messages from previous cycles)
1414
* @param retransmissionMeters after passing this distance, messages will not be retransmitted
15+
* @param treeTrailingLength the trailing length of the path tree, relatively
16+
* to the map-matched position, in the adasis provider
1517
*/
1618
@ExperimentalPreviewMapboxNavigationAPI
1719
class AdasisDataSendingConfig private constructor(
@@ -21,6 +23,7 @@ class AdasisDataSendingConfig private constructor(
2123
val metadataCycleSeconds: Int,
2224
val enableRetransmission: Boolean,
2325
val retransmissionMeters: Int,
26+
val treeTrailingLength: Int,
2427
) {
2528

2629
/**
@@ -32,6 +35,7 @@ class AdasisDataSendingConfig private constructor(
3235
.metadataCycleSeconds(metadataCycleSeconds)
3336
.enableRetransmission(enableRetransmission)
3437
.retransmissionMeters(retransmissionMeters)
38+
.treeTrailingLength(treeTrailingLength)
3539

3640
@JvmSynthetic
3741
internal fun toNativeAdasisConfigDataSending(): com.mapbox.navigator.AdasisConfigDataSending {
@@ -42,6 +46,7 @@ class AdasisDataSendingConfig private constructor(
4246
metadataCycleSeconds,
4347
enableRetransmission,
4448
retransmissionMeters,
49+
treeTrailingLength,
4550
)
4651
}
4752

@@ -59,7 +64,8 @@ class AdasisDataSendingConfig private constructor(
5964
if (messagesInPackage != other.messagesInPackage) return false
6065
if (metadataCycleSeconds != other.metadataCycleSeconds) return false
6166
if (enableRetransmission != other.enableRetransmission) return false
62-
return retransmissionMeters == other.retransmissionMeters
67+
if (retransmissionMeters != other.retransmissionMeters) return false
68+
return treeTrailingLength == other.treeTrailingLength
6369
}
6470

6571
/**
@@ -72,6 +78,7 @@ class AdasisDataSendingConfig private constructor(
7278
result = 31 * result + metadataCycleSeconds.hashCode()
7379
result = 31 * result + enableRetransmission.hashCode()
7480
result = 31 * result + retransmissionMeters.hashCode()
81+
result = 31 * result + treeTrailingLength.hashCode()
7582
return result
7683
}
7784

@@ -86,7 +93,8 @@ class AdasisDataSendingConfig private constructor(
8693
"messagesInPackage=$messagesInPackage, " +
8794
"metadataCycleSeconds=$metadataCycleSeconds, " +
8895
"enableRetransmission=$enableRetransmission, " +
89-
"retransmissionMeters=$retransmissionMeters" +
96+
"retransmissionMeters=$retransmissionMeters, " +
97+
"treeTrailingLength=$treeTrailingLength" +
9098
")"
9199
}
92100

@@ -102,6 +110,7 @@ class AdasisDataSendingConfig private constructor(
102110
private var metadataCycleSeconds: Int = 5
103111
private var enableRetransmission: Boolean = true
104112
private var retransmissionMeters: Int = 300
113+
private var treeTrailingLength: Int = 100
105114

106115
/**
107116
* Interval between sending messages in milliseconds
@@ -139,6 +148,14 @@ class AdasisDataSendingConfig private constructor(
139148
this.retransmissionMeters = retransmissionMeters
140149
}
141150

151+
/**
152+
* The trailing length of the path tree, relatively to the map-matched position,
153+
* in the adasis provider
154+
*/
155+
fun treeTrailingLength(treeTrailingLength: Int) = apply {
156+
this.treeTrailingLength = treeTrailingLength
157+
}
158+
142159
/**
143160
* Build the [AdasisDataSendingConfig]
144161
*/
@@ -149,6 +166,7 @@ class AdasisDataSendingConfig private constructor(
149166
metadataCycleSeconds = metadataCycleSeconds,
150167
enableRetransmission = enableRetransmission,
151168
retransmissionMeters = retransmissionMeters,
169+
treeTrailingLength = treeTrailingLength,
152170
)
153171
}
154172
}
Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,8 @@
11
package com.mapbox.navigation.core.internal
22

3-
import android.content.Context
4-
import androidx.startup.Initializer
5-
import com.mapbox.common.MapboxSDKCommonInitializer
6-
import com.mapbox.common.SdkInfoRegistryFactory
7-
import com.mapbox.common.SdkInformation
8-
import com.mapbox.navigation.core.BuildConfig
3+
import com.mapbox.common.BaseMapboxInitializer
94

10-
class MapboxNavigationSDKInitializer : Initializer<MapboxNavigationSDK> {
11-
override fun create(context: Context): MapboxNavigationSDK {
12-
SdkInfoRegistryFactory.getInstance().registerSdkInformation(
13-
SdkInformation(
14-
"mapbox-navigation-android",
15-
BuildConfig.MAPBOX_NAVIGATION_VERSION_NAME,
16-
"com.mapbox.navigation"
17-
)
18-
)
5+
class MapboxNavigationSDKInitializer : BaseMapboxInitializer<MapboxNavigationSDK>() {
196

20-
return MapboxNavigationSDK
21-
}
22-
23-
override fun dependencies(): MutableList<Class<out Initializer<*>>> {
24-
return mutableListOf(MapboxSDKCommonInitializer::class.java)
25-
}
7+
override val initializerClass = MapboxNavigationSDKInitializerImpl::class.java
268
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.mapbox.navigation.core.internal
2+
3+
import android.content.Context
4+
import androidx.startup.Initializer
5+
import com.mapbox.common.MapboxSDKCommonInitializerImpl
6+
import com.mapbox.common.SdkInfoRegistryFactory
7+
import com.mapbox.common.SdkInformation
8+
import com.mapbox.navigation.core.BuildConfig
9+
10+
class MapboxNavigationSDKInitializerImpl : Initializer<MapboxNavigationSDK> {
11+
12+
override fun create(context: Context): MapboxNavigationSDK {
13+
SdkInfoRegistryFactory.getInstance().registerSdkInformation(
14+
SdkInformation(
15+
"mapbox-navigation-android",
16+
BuildConfig.MAPBOX_NAVIGATION_VERSION_NAME,
17+
"com.mapbox.navigation"
18+
)
19+
)
20+
21+
return MapboxNavigationSDK
22+
}
23+
24+
override fun dependencies(): MutableList<Class<out Initializer<*>>> {
25+
return mutableListOf(MapboxSDKCommonInitializerImpl::class.java)
26+
}
27+
}

libnavigation-core/src/test/java/com/mapbox/navigation/core/adas/AdasisConfigTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class AdasisConfigTest : BuilderTest<AdasisConfig, AdasisConfig.Builder>() {
1717
.metadataCycleSeconds(300)
1818
.enableRetransmission(false)
1919
.retransmissionMeters(400)
20+
.treeTrailingLength(500)
2021
.build()
2122

2223
val messageOptions = AdasisConfigMessageOptions.Builder()

0 commit comments

Comments
 (0)