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 @@ - - - +