Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump NN #7753

Merged
merged 4 commits into from
Feb 26, 2024
Merged

Bump NN #7753

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions changelog/unreleased/bugfixes/7753.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- Fix adasis generator errors related to the split edges.
DzmitryFomchyn marked this conversation as resolved.
Show resolved Hide resolved
- Fix adas cache tiles eviction mechanism.
- Handle "unlilimited" speed limits in Adasis.
- Fixed possible `java.lang.UnsatisfiedLinkError` crash on application startup when Mapbox native libraries could not yet be found.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Fixed possible `java.lang.UnsatisfiedLinkError` crash on application startup when Mapbox native libraries could not yet be found.
- Fix possible `java.lang.UnsatisfiedLinkError` crash on application startup when Mapbox native libraries could not yet be found.

to align with other records

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We actually use past simple in our changelog.

2 changes: 2 additions & 0 deletions changelog/unreleased/features/7753.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- 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.
- Meaningful `RouterFailure.code` for directions api errors.
6 changes: 3 additions & 3 deletions gradle/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ext {
// version which we should use in this build
def mapboxNavigatorVersion = System.getenv("FORCE_MAPBOX_NAVIGATION_NATIVE_VERSION")
if (mapboxNavigatorVersion == null || mapboxNavigatorVersion == '') {
mapboxNavigatorVersion = '201.0.0'
mapboxNavigatorVersion = '202.0.0'
}
println("Navigation Native version: " + mapboxNavigatorVersion)
def androidXWorkManagerVersion = project.hasProperty('WORK_MANAGER_VERSION') ? project.property('WORK_MANAGER_VERSION') : '2.7.0'
Expand All @@ -22,10 +22,10 @@ ext {
println("AndroidX Lifecycle version: " + androidXLifecycleVersion)

version = [
mapboxMapSdk : '10.16.4',
mapboxMapSdk : '10.16.5',
mapboxSdkServices : '6.15.0',
mapboxNavigator : "${mapboxNavigatorVersion}",
mapboxCommonNative : '23.8.6',
mapboxCommonNative : '23.9.0',
mapboxCrashMonitor : '2.0.0',
mapboxAnnotationPlugin : '0.8.0',
mapboxBaseAndroid : '0.8.0',
Expand Down
10 changes: 10 additions & 0 deletions libnavigation-core/api/current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,13 @@ package com.mapbox.navigation.core {

}

package com.mapbox.navigation.core.accounts {
DzmitryFomchyn marked this conversation as resolved.
Show resolved Hide resolved

public final class BillingControllerKt {
}

}

package com.mapbox.navigation.core.adas {

@com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI public final class AdasEdgeAttributes {
Expand Down Expand Up @@ -362,13 +369,15 @@ package com.mapbox.navigation.core.adas {
method public int getMessagesInPackage();
method public int getMetadataCycleSeconds();
method public int getRetransmissionMeters();
method public int getTreeTrailingLength();
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder toBuilder();
property public final boolean enableRetransmission;
property public final com.mapbox.navigation.core.adas.AdasisMessageBinaryFormat messageBinaryFormat;
property public final int messageIntervalMs;
property public final int messagesInPackage;
property public final int metadataCycleSeconds;
property public final int retransmissionMeters;
property public final int treeTrailingLength;
}

public static final class AdasisDataSendingConfig.Builder {
Expand All @@ -379,6 +388,7 @@ package com.mapbox.navigation.core.adas {
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder messagesInPackage(int messagesInPackage);
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder metadataCycleSeconds(int metadataCycleSeconds);
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder retransmissionMeters(int retransmissionMeters);
method public com.mapbox.navigation.core.adas.AdasisDataSendingConfig.Builder treeTrailingLength(int treeTrailingLength);
}

@com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI public abstract class AdasisMessageBinaryFormat {
Expand Down
7 changes: 7 additions & 0 deletions libnavigation-core/lint.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,11 @@
Try removing the line after updating androidx.lifecycle libraries
-->
<issue id="NullSafeMutableLiveData" severity="ignore" />

<!--
MapboxNavigationSDKInitializerImpl is not declared in AndroidManifest.xml on purpose as
it is called from MapboxNavigationSDKInitializer extending BaseMapboxInitializer to
avoid crashing on startup if native library is not found.
-->
<issue id="EnsureInitializerMetadata" severity="ignore" />
</lint>
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import com.mapbox.api.directions.v5.models.DirectionsRoute
import com.mapbox.api.directions.v5.models.RouteOptions
import com.mapbox.bindgen.Expected
import com.mapbox.bindgen.ExpectedFactory
import com.mapbox.common.BaseMapboxInitializer
import com.mapbox.common.TilesetDescriptor
import com.mapbox.common.module.provider.MapboxModuleProvider
import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
Expand Down Expand Up @@ -60,6 +61,7 @@ import com.mapbox.navigation.core.directions.session.SetNavigationRoutesStartedO
import com.mapbox.navigation.core.directions.session.Utils
import com.mapbox.navigation.core.history.MapboxHistoryReader
import com.mapbox.navigation.core.history.MapboxHistoryRecorder
import com.mapbox.navigation.core.internal.MapboxNavigationSDKInitializerImpl
import com.mapbox.navigation.core.internal.ReachabilityService
import com.mapbox.navigation.core.internal.telemetry.CustomEvent
import com.mapbox.navigation.core.internal.telemetry.UserFeedbackCallback
Expand Down Expand Up @@ -433,6 +435,8 @@ class MapboxNavigation @VisibleForTesting internal constructor(
private set

init {
BaseMapboxInitializer.init(MapboxNavigationSDKInitializerImpl::class.java)

if (hasInstance) {
throw IllegalStateException(
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI
* @param enableRetransmission if true, retransmission will be enabled
* (package will be appended with retransmission data, messages from previous cycles)
* @param retransmissionMeters after passing this distance, messages will not be retransmitted
* @param treeTrailingLength the trailing length of the path tree, relatively
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

relative to

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that both options are possible in this context :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't consider ChatGPT to be the true source of grammar, but:
image

* to the map-matched position, in the adasis provider
*/
@ExperimentalPreviewMapboxNavigationAPI
class AdasisDataSendingConfig private constructor(
Expand All @@ -21,6 +23,7 @@ class AdasisDataSendingConfig private constructor(
val metadataCycleSeconds: Int,
val enableRetransmission: Boolean,
val retransmissionMeters: Int,
val treeTrailingLength: Int,
) {

/**
Expand All @@ -32,6 +35,7 @@ class AdasisDataSendingConfig private constructor(
.metadataCycleSeconds(metadataCycleSeconds)
.enableRetransmission(enableRetransmission)
.retransmissionMeters(retransmissionMeters)
.treeTrailingLength(treeTrailingLength)

@JvmSynthetic
internal fun toNativeAdasisConfigDataSending(): com.mapbox.navigator.AdasisConfigDataSending {
Expand All @@ -42,6 +46,7 @@ class AdasisDataSendingConfig private constructor(
metadataCycleSeconds,
enableRetransmission,
retransmissionMeters,
treeTrailingLength,
)
}

Expand All @@ -59,7 +64,8 @@ class AdasisDataSendingConfig private constructor(
if (messagesInPackage != other.messagesInPackage) return false
if (metadataCycleSeconds != other.metadataCycleSeconds) return false
if (enableRetransmission != other.enableRetransmission) return false
return retransmissionMeters == other.retransmissionMeters
if (retransmissionMeters != other.retransmissionMeters) return false
return treeTrailingLength == other.treeTrailingLength
}

/**
Expand All @@ -72,6 +78,7 @@ class AdasisDataSendingConfig private constructor(
result = 31 * result + metadataCycleSeconds.hashCode()
result = 31 * result + enableRetransmission.hashCode()
result = 31 * result + retransmissionMeters.hashCode()
result = 31 * result + treeTrailingLength.hashCode()
return result
}

Expand All @@ -86,7 +93,8 @@ class AdasisDataSendingConfig private constructor(
"messagesInPackage=$messagesInPackage, " +
"metadataCycleSeconds=$metadataCycleSeconds, " +
"enableRetransmission=$enableRetransmission, " +
"retransmissionMeters=$retransmissionMeters" +
"retransmissionMeters=$retransmissionMeters, " +
"treeTrailingLength=$treeTrailingLength" +
")"
}

Expand All @@ -102,6 +110,7 @@ class AdasisDataSendingConfig private constructor(
private var metadataCycleSeconds: Int = 5
private var enableRetransmission: Boolean = true
private var retransmissionMeters: Int = 300
private var treeTrailingLength: Int = 100

/**
* Interval between sending messages in milliseconds
Expand Down Expand Up @@ -139,6 +148,14 @@ class AdasisDataSendingConfig private constructor(
this.retransmissionMeters = retransmissionMeters
}

/**
* The trailing length of the path tree, relatively to the map-matched position,
* in the adasis provider
*/
fun treeTrailingLength(treeTrailingLength: Int) = apply {
this.treeTrailingLength = treeTrailingLength
}

/**
* Build the [AdasisDataSendingConfig]
*/
Expand All @@ -149,6 +166,7 @@ class AdasisDataSendingConfig private constructor(
metadataCycleSeconds = metadataCycleSeconds,
enableRetransmission = enableRetransmission,
retransmissionMeters = retransmissionMeters,
treeTrailingLength = treeTrailingLength,
)
}
}
Original file line number Diff line number Diff line change
@@ -1,26 +1,8 @@
package com.mapbox.navigation.core.internal

import android.content.Context
import androidx.startup.Initializer
import com.mapbox.common.MapboxSDKCommonInitializer
import com.mapbox.common.SdkInfoRegistryFactory
import com.mapbox.common.SdkInformation
import com.mapbox.navigation.core.BuildConfig
import com.mapbox.common.BaseMapboxInitializer

class MapboxNavigationSDKInitializer : Initializer<MapboxNavigationSDK> {
override fun create(context: Context): MapboxNavigationSDK {
SdkInfoRegistryFactory.getInstance().registerSdkInformation(
SdkInformation(
"mapbox-navigation-android",
BuildConfig.MAPBOX_NAVIGATION_VERSION_NAME,
"com.mapbox.navigation"
)
)
class MapboxNavigationSDKInitializer : BaseMapboxInitializer<MapboxNavigationSDK>() {

return MapboxNavigationSDK
}

override fun dependencies(): MutableList<Class<out Initializer<*>>> {
return mutableListOf(MapboxSDKCommonInitializer::class.java)
}
override val initializerClass = MapboxNavigationSDKInitializerImpl::class.java
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.mapbox.navigation.core.internal

import android.content.Context
import androidx.startup.Initializer
import com.mapbox.common.MapboxSDKCommonInitializerImpl
import com.mapbox.common.SdkInfoRegistryFactory
import com.mapbox.common.SdkInformation
import com.mapbox.navigation.core.BuildConfig

class MapboxNavigationSDKInitializerImpl : Initializer<MapboxNavigationSDK> {

override fun create(context: Context): MapboxNavigationSDK {
SdkInfoRegistryFactory.getInstance().registerSdkInformation(
SdkInformation(
"mapbox-navigation-android",
BuildConfig.MAPBOX_NAVIGATION_VERSION_NAME,
"com.mapbox.navigation"
)
)

return MapboxNavigationSDK
}

override fun dependencies(): MutableList<Class<out Initializer<*>>> {
return mutableListOf(MapboxSDKCommonInitializerImpl::class.java)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class AdasisConfigTest : BuilderTest<AdasisConfig, AdasisConfig.Builder>() {
.metadataCycleSeconds(300)
.enableRetransmission(false)
.retransmissionMeters(400)
.treeTrailingLength(500)
.build()

val messageOptions = AdasisConfigMessageOptions.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class AdasisDataSendingConfigTest :
.metadataCycleSeconds(300)
.enableRetransmission(false)
.retransmissionMeters(400)
.treeTrailingLength(500)
}

override fun trigger() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ fun createNativeWaypoint(
)

// Add default parameters if you define properties
fun createMapMatcherOutput() = MapMatcherOutput(emptyList(), false)
fun createMapMatcherOutput() = MapMatcherOutput(emptyList(), false, 0)

fun createRouteInterface(
responseUUID: String = "testResponseUUID",
Expand Down