diff --git a/app/build.gradle b/app/build.gradle
index 6f1af48..fc01fb9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -7,6 +7,7 @@ plugins {
android {
namespace 'eu.ztsh.garmin'
compileSdk 34
+ ndkVersion "23.2.8568313"
defaultConfig {
applicationId "eu.ztsh.garmin"
@@ -36,18 +37,23 @@ android {
viewBinding true
buildConfig = true
}
- buildToolsVersion '35.0.0'
+}
+ext {
+ mapboxVersion = '3.2.0'
}
dependencies {
-
- implementation "com.mapbox.navigation:ui-dropin:2.20.0"
- implementation 'androidx.core:core-ktx:1.7.0'
- implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation 'com.google.android.material:material:1.5.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+ implementation "com.mapbox.navigationcore:navigation:$mapboxVersion"
+ implementation "com.mapbox.navigationcore:ui-maps:$mapboxVersion"
+ implementation "com.mapbox.navigationcore:voice:$mapboxVersion"
+ implementation "com.mapbox.navigationcore:tripdata:$mapboxVersion"
+ implementation "com.mapbox.navigationcore:ui-components:$mapboxVersion"
+ implementation 'androidx.core:core-ktx:1.13.1'
+ implementation 'androidx.appcompat:appcompat:1.7.0'
+ implementation 'com.google.android.material:material:1.12.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
- androidTestImplementation 'androidx.test.ext:junit:1.1.3'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+ androidTestImplementation 'androidx.test.ext:junit:1.2.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
}
diff --git a/app/src/main/java/eu/ztsh/garmin/Garmin.kt b/app/src/main/java/eu/ztsh/garmin/Garmin.kt
index b393203..b4da436 100644
--- a/app/src/main/java/eu/ztsh/garmin/Garmin.kt
+++ b/app/src/main/java/eu/ztsh/garmin/Garmin.kt
@@ -5,7 +5,7 @@ import android.bluetooth.BluetoothAdapter
import android.bluetooth.BluetoothDevice
import android.bluetooth.BluetoothSocket
import android.util.Log
-import com.mapbox.navigation.ui.maneuver.model.Maneuver
+import com.mapbox.navigation.tripdata.maneuver.model.Maneuver
import java.io.IOException
import java.util.*
import java.util.concurrent.SynchronousQueue
diff --git a/app/src/main/java/eu/ztsh/garmin/MainActivity.kt b/app/src/main/java/eu/ztsh/garmin/MainActivity.kt
index ec61546..4a0dec4 100644
--- a/app/src/main/java/eu/ztsh/garmin/MainActivity.kt
+++ b/app/src/main/java/eu/ztsh/garmin/MainActivity.kt
@@ -5,7 +5,6 @@ import android.annotation.SuppressLint
import android.bluetooth.BluetoothAdapter
import android.bluetooth.BluetoothDevice
import android.bluetooth.BluetoothManager
-import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
@@ -18,14 +17,10 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
-import com.mapbox.navigation.base.formatter.DistanceFormatterOptions
import com.mapbox.navigation.base.options.NavigationOptions
-import com.mapbox.navigation.base.trip.model.RouteProgress
-import com.mapbox.navigation.core.formatter.MapboxDistanceFormatter
import com.mapbox.navigation.core.lifecycle.MapboxNavigationApp
-import com.mapbox.navigation.core.trip.session.RouteProgressObserver
-import com.mapbox.navigation.ui.maneuver.api.MapboxManeuverApi
import eu.ztsh.garmin.databinding.ActivityMainBinding
+import eu.ztsh.garmin.mapbox.NavigationObserver
@SuppressLint("MissingPermission")
class MainActivity : AppCompatActivity() {
@@ -33,18 +28,18 @@ class MainActivity : AppCompatActivity() {
lateinit var garmin: Garmin
private lateinit var binding: ActivityMainBinding
- private val mapboxObserver = MapboxObserver()
+ private val navigationObserver = NavigationObserver()
init {
lifecycle.addObserver(object : DefaultLifecycleObserver {
override fun onResume(owner: LifecycleOwner) {
MapboxNavigationApp.attach(owner)
- MapboxNavigationApp.registerObserver(mapboxObserver)
+ MapboxNavigationApp.registerObserver(navigationObserver)
}
override fun onPause(owner: LifecycleOwner) {
MapboxNavigationApp.detach(owner)
- MapboxNavigationApp.unregisterObserver(mapboxObserver)
+ MapboxNavigationApp.unregisterObserver(navigationObserver)
}
})
}
@@ -56,7 +51,7 @@ class MainActivity : AppCompatActivity() {
if (!MapboxNavigationApp.isSetup()) {
MapboxNavigationApp.setup {
NavigationOptions.Builder(applicationContext)
- .accessToken(BuildConfig.MAPBOX_DOWNLOADS_TOKEN)
+// .accessToken(BuildConfig.MAPBOX_DOWNLOADS_TOKEN)
.build()
}
}
@@ -66,37 +61,37 @@ class MainActivity : AppCompatActivity() {
override fun onStart() {
super.onStart()
- MapboxNavigationApp.current()?.registerRouteProgressObserver(routeProgressObserver)
+// MapboxNavigationApp.current()?.registerRouteProgressObserver(routeProgressObserver)
}
override fun onStop() {
super.onStop()
- MapboxNavigationApp.current()?.unregisterRouteProgressObserver(routeProgressObserver)
+// MapboxNavigationApp.current()?.unregisterRouteProgressObserver(routeProgressObserver)
}
override fun onDestroy() {
super.onDestroy()
MapboxNavigationApp.current()?.stopTripSession()
- maneuverApi.cancel()
+// maneuverApi.cancel()
}
- // Define distance formatter options
- private val distanceFormatter: DistanceFormatterOptions by lazy {
- DistanceFormatterOptions.Builder(this).build()
- }
- // Create an instance of the Maneuver API
- private val maneuverApi: MapboxManeuverApi by lazy {
- MapboxManeuverApi(MapboxDistanceFormatter(distanceFormatter))
- }
-
- private val routeProgressObserver =
- RouteProgressObserver { routeProgress ->
- maneuverApi.getManeuvers(routeProgress).value?.apply {
- garmin.process(
- this[0]
- )
- }
- }
+// // Define distance formatter options
+// private val distanceFormatter: DistanceFormatterOptions by lazy {
+// DistanceFormatterOptions.Builder(this).build()
+// }
+// // Create an instance of the Maneuver API
+// private val maneuverApi: MapboxManeuverApi by lazy {
+// MapboxManeuverApi(MapboxDistanceFormatter(distanceFormatter))
+// }
+//
+// private val routeProgressObserver =
+// RouteProgressObserver { routeProgress ->
+// maneuverApi.getManeuvers(routeProgress).value?.apply {
+// garmin.process(
+// this[0]
+// )
+// }
+// }
private fun bluetoothInit() {
val bluetoothManager: BluetoothManager = getSystemService(BluetoothManager::class.java)
diff --git a/app/src/main/java/eu/ztsh/garmin/ManeuverMapper.kt b/app/src/main/java/eu/ztsh/garmin/ManeuverMapper.kt
index 3ecef12..1699870 100644
--- a/app/src/main/java/eu/ztsh/garmin/ManeuverMapper.kt
+++ b/app/src/main/java/eu/ztsh/garmin/ManeuverMapper.kt
@@ -1,6 +1,6 @@
package eu.ztsh.garmin
-import com.mapbox.navigation.ui.maneuver.model.Maneuver
+import com.mapbox.navigation.tripdata.maneuver.model.Maneuver
class ManeuverMapper {
diff --git a/app/src/main/java/eu/ztsh/garmin/MapboxObserver.kt b/app/src/main/java/eu/ztsh/garmin/mapbox/NavigationObserver.kt
similarity index 83%
rename from app/src/main/java/eu/ztsh/garmin/MapboxObserver.kt
rename to app/src/main/java/eu/ztsh/garmin/mapbox/NavigationObserver.kt
index 35bdabd..663818a 100644
--- a/app/src/main/java/eu/ztsh/garmin/MapboxObserver.kt
+++ b/app/src/main/java/eu/ztsh/garmin/mapbox/NavigationObserver.kt
@@ -1,10 +1,10 @@
-package eu.ztsh.garmin
+package eu.ztsh.garmin.mapbox
import android.util.Log
import com.mapbox.navigation.core.MapboxNavigation
import com.mapbox.navigation.core.lifecycle.MapboxNavigationObserver
-class MapboxObserver : MapboxNavigationObserver {
+class NavigationObserver : MapboxNavigationObserver {
override fun onAttached(mapboxNavigation: MapboxNavigation) {
Log.d(TAG, "Attached")
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 8177dab..ae8744c 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,9 +1,10 @@
-
-
-
+