From b455d9b0e4b3cd3aa95a4c0bd4ca524ee7839815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20V=C3=A4limaa?= Date: Thu, 23 Jul 2026 15:39:30 +0800 Subject: [PATCH 1/2] feat!: upgrade android sdk to 7.8.0 and ios sdk to 10.15.0 --- android/build.gradle.kts | 2 +- example/android/app/build.gradle.kts | 2 +- ios/google_navigation_flutter.podspec | 2 +- ios/google_navigation_flutter/Package.swift | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 84e6f9f1..bd234969 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -124,7 +124,7 @@ dependencies { implementation("androidx.car.app:app:1.7.0") implementation("androidx.car.app:app-projected:1.7.0") implementation("androidx.startup:startup-runtime:1.2.0") - implementation("com.google.android.libraries.navigation:navigation:7.7.0") + implementation("com.google.android.libraries.navigation:navigation:7.8.0") testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("io.mockk:mockk:1.13.8") testImplementation("junit:junit:4.13.2") diff --git a/example/android/app/build.gradle.kts b/example/android/app/build.gradle.kts index 29e299a1..cd7887fa 100644 --- a/example/android/app/build.gradle.kts +++ b/example/android/app/build.gradle.kts @@ -107,7 +107,7 @@ flutter { dependencies { implementation("androidx.car.app:app:1.7.0") implementation("androidx.car.app:app-projected:1.7.0") - implementation("com.google.android.libraries.navigation:navigation:7.7.0") + implementation("com.google.android.libraries.navigation:navigation:7.8.0") coreLibraryDesugaring("com.android.tools:desugar_jdk_libs_nio:2.1.5") androidTestUtil("androidx.test:orchestrator:1.5.1") } diff --git a/ios/google_navigation_flutter.podspec b/ios/google_navigation_flutter.podspec index a67e6674..372e751e 100644 --- a/ios/google_navigation_flutter.podspec +++ b/ios/google_navigation_flutter.podspec @@ -15,7 +15,7 @@ A Google Maps Navigation Flutter plugin. s.source = { :path => '.' } s.source_files = 'google_navigation_flutter/Sources/google_navigation_flutter/**/*.swift' s.dependency 'Flutter' - s.dependency 'GoogleNavigation', '10.14.0' + s.dependency 'GoogleNavigation', '10.15.0' s.platform = :ios, '16.0' s.static_framework = true diff --git a/ios/google_navigation_flutter/Package.swift b/ios/google_navigation_flutter/Package.swift index 8e0b9979..7275e8da 100644 --- a/ios/google_navigation_flutter/Package.swift +++ b/ios/google_navigation_flutter/Package.swift @@ -29,11 +29,11 @@ let package = Package( .package(name: "FlutterFramework", path: "../FlutterFramework"), .package( url: "https://github.com/googlemaps/ios-navigation-sdk", - exact: "10.14.0" + exact: "10.15.0" ), .package( url: "https://github.com/googlemaps/ios-maps-sdk", - exact: "10.14.0" + exact: "10.15.0" ), ], targets: [ From be705b5cc971b9ba5ae8703b2299106ac88ff428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20V=C3=A4limaa?= Date: Fri, 24 Jul 2026 15:12:57 +0800 Subject: [PATCH 2/2] feat: migrate to new audioguidance function from deprecated one --- .../google/maps/flutter/navigation/Convert.kt | 27 ++++++------ .../GoogleMapsNavigationSessionManager.kt | 5 ++- .../maps/flutter/navigation/ConvertTest.kt | 41 ++++++++++++++----- example/lib/pages/navigation.dart | 2 +- 4 files changed, 49 insertions(+), 26 deletions(-) diff --git a/android/src/main/kotlin/com/google/maps/flutter/navigation/Convert.kt b/android/src/main/kotlin/com/google/maps/flutter/navigation/Convert.kt index 3bd5a18f..0532ae43 100644 --- a/android/src/main/kotlin/com/google/maps/flutter/navigation/Convert.kt +++ b/android/src/main/kotlin/com/google/maps/flutter/navigation/Convert.kt @@ -43,6 +43,7 @@ import com.google.android.libraries.mapsplatform.turnbyturn.model.NavInfo import com.google.android.libraries.mapsplatform.turnbyturn.model.NavState import com.google.android.libraries.mapsplatform.turnbyturn.model.StepInfo import com.google.android.libraries.navigation.AlternateRoutesStrategy +import com.google.android.libraries.navigation.AudioGuidanceSettings import com.google.android.libraries.navigation.DisplayOptions import com.google.android.libraries.navigation.ForceNightMode import com.google.android.libraries.navigation.NavigationRoadStretchRenderingData @@ -445,21 +446,21 @@ object Convert { * @param settings pigeon [NavigationAudioGuidanceSettingsDto]. * @return Google Navigation [AudioGuidanceTypeDto] int. */ - fun convertAudioGuidanceSettingsToDto(settings: NavigationAudioGuidanceSettingsDto): Int { - var base = + fun convertAudioGuidanceSettingsToDto(settings: NavigationAudioGuidanceSettingsDto): AudioGuidanceSettings { + val guidanceMode = when (settings.guidanceType) { - AudioGuidanceTypeDto.SILENT -> AudioGuidance.SILENT - AudioGuidanceTypeDto.ALERTS_ONLY -> AudioGuidance.VOICE_ALERTS_ONLY - AudioGuidanceTypeDto.ALERTS_AND_GUIDANCE -> AudioGuidance.VOICE_ALERTS_AND_GUIDANCE - null -> AudioGuidance.SILENT + AudioGuidanceTypeDto.SILENT -> AudioGuidanceSettings.GuidanceMode.SILENT + AudioGuidanceTypeDto.ALERTS_ONLY -> AudioGuidanceSettings.GuidanceMode.VOICE_ALERTS_ONLY + AudioGuidanceTypeDto.ALERTS_AND_GUIDANCE -> AudioGuidanceSettings.GuidanceMode.VOICE_ALERTS_AND_GUIDANCE + null -> AudioGuidanceSettings.GuidanceMode.SILENT } - if (settings.isBluetoothAudioEnabled == true) { - base = base or AudioGuidance.BLUETOOTH_AUDIO - } - if (settings.isVibrationEnabled == true) { - base = base or AudioGuidance.VIBRATION - } - return base + + return AudioGuidanceSettings + .builder() + .setGuidanceMode(guidanceMode) + .setBluetoothAudioEnabled(settings.isBluetoothAudioEnabled == true) + .setVibrationEnabled(settings.isVibrationEnabled == true) + .build() } /** diff --git a/android/src/main/kotlin/com/google/maps/flutter/navigation/GoogleMapsNavigationSessionManager.kt b/android/src/main/kotlin/com/google/maps/flutter/navigation/GoogleMapsNavigationSessionManager.kt index f4bda770..8ae4bda0 100644 --- a/android/src/main/kotlin/com/google/maps/flutter/navigation/GoogleMapsNavigationSessionManager.kt +++ b/android/src/main/kotlin/com/google/maps/flutter/navigation/GoogleMapsNavigationSessionManager.kt @@ -26,6 +26,7 @@ import androidx.lifecycle.Observer import com.google.android.gms.maps.model.LatLng import com.google.android.libraries.mapsplatform.turnbyturn.model.NavInfo import com.google.android.libraries.mapsplatform.turnbyturn.model.StepInfo +import com.google.android.libraries.navigation.AudioGuidanceSettings import com.google.android.libraries.navigation.CustomRoutesOptions import com.google.android.libraries.navigation.DisplayOptions import com.google.android.libraries.navigation.GpsAvailabilityChangeEvent @@ -515,8 +516,8 @@ constructor( * Wraps [Navigator.setAudioGuidance]. See * [Google Navigation SDK for Android](https://developers.google.com/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator#setAudioGuidance(int)). */ - fun setAudioGuidance(audioGuidanceSettings: Int) { - getNavigator().setAudioGuidance(audioGuidanceSettings) + fun setAudioGuidance(audioGuidanceSettings: AudioGuidanceSettings) { + getNavigator().setAudioGuidanceSettings(audioGuidanceSettings) } fun setSpeedAlertOptions(options: SpeedAlertOptions) { diff --git a/android/src/test/kotlin/com/google/maps/flutter/navigation/ConvertTest.kt b/android/src/test/kotlin/com/google/maps/flutter/navigation/ConvertTest.kt index b78103d6..db245616 100644 --- a/android/src/test/kotlin/com/google/maps/flutter/navigation/ConvertTest.kt +++ b/android/src/test/kotlin/com/google/maps/flutter/navigation/ConvertTest.kt @@ -26,6 +26,7 @@ import com.google.android.gms.maps.model.Marker import com.google.android.gms.maps.model.Polygon import com.google.android.gms.maps.model.Polyline import com.google.android.libraries.navigation.AlternateRoutesStrategy +import com.google.android.libraries.navigation.AudioGuidanceSettings import com.google.android.libraries.navigation.NavigationRoadStretchRenderingData import com.google.android.libraries.navigation.NavigationTrafficData import com.google.android.libraries.navigation.Navigator.AudioGuidance @@ -85,54 +86,74 @@ internal class ConvertTest { @Test fun convertAudioGuidanceSettings_returnsExpectedValue() { assertEquals( - AudioGuidance.VOICE_ALERTS_AND_GUIDANCE, + AudioGuidanceSettings.GuidanceMode.VOICE_ALERTS_AND_GUIDANCE, Convert.convertAudioGuidanceSettingsToDto( NavigationAudioGuidanceSettingsDto( isBluetoothAudioEnabled = false, isVibrationEnabled = false, guidanceType = AudioGuidanceTypeDto.ALERTS_AND_GUIDANCE, ) - ), + ).guidanceMode, ) assertEquals( - AudioGuidance.SILENT, + AudioGuidanceSettings.GuidanceMode.SILENT, Convert.convertAudioGuidanceSettingsToDto( NavigationAudioGuidanceSettingsDto( isBluetoothAudioEnabled = false, isVibrationEnabled = false, guidanceType = AudioGuidanceTypeDto.SILENT, ) - ), + ).guidanceMode, ) assertEquals( - AudioGuidance.VOICE_ALERTS_ONLY, + AudioGuidanceSettings.GuidanceMode.VOICE_ALERTS_ONLY, Convert.convertAudioGuidanceSettingsToDto( NavigationAudioGuidanceSettingsDto( isBluetoothAudioEnabled = false, isVibrationEnabled = false, guidanceType = AudioGuidanceTypeDto.ALERTS_ONLY, ) - ), + ).guidanceMode, ) assertEquals( - AudioGuidance.VOICE_ALERTS_AND_GUIDANCE or AudioGuidance.VIBRATION, + AudioGuidanceSettings.GuidanceMode.VOICE_ALERTS_AND_GUIDANCE, Convert.convertAudioGuidanceSettingsToDto( NavigationAudioGuidanceSettingsDto( isBluetoothAudioEnabled = false, isVibrationEnabled = true, guidanceType = AudioGuidanceTypeDto.ALERTS_AND_GUIDANCE, ) - ), + ).guidanceMode, ) assertEquals( - AudioGuidance.VOICE_ALERTS_AND_GUIDANCE or AudioGuidance.BLUETOOTH_AUDIO, + true, + Convert.convertAudioGuidanceSettingsToDto( + NavigationAudioGuidanceSettingsDto( + isBluetoothAudioEnabled = false, + isVibrationEnabled = true, + guidanceType = AudioGuidanceTypeDto.ALERTS_AND_GUIDANCE, + ) + ).vibrationEnabled, + ) + assertEquals( + AudioGuidanceSettings.GuidanceMode.VOICE_ALERTS_AND_GUIDANCE, + Convert.convertAudioGuidanceSettingsToDto( + NavigationAudioGuidanceSettingsDto( + isBluetoothAudioEnabled = true, + isVibrationEnabled = false, + guidanceType = AudioGuidanceTypeDto.ALERTS_AND_GUIDANCE, + ) + ).guidanceMode, + ) + assertEquals( + true, Convert.convertAudioGuidanceSettingsToDto( NavigationAudioGuidanceSettingsDto( isBluetoothAudioEnabled = true, isVibrationEnabled = false, guidanceType = AudioGuidanceTypeDto.ALERTS_AND_GUIDANCE, ) - ), + ).bluetoothAudioEnabled, ) } diff --git a/example/lib/pages/navigation.dart b/example/lib/pages/navigation.dart index dd844eeb..6406872a 100644 --- a/example/lib/pages/navigation.dart +++ b/example/lib/pages/navigation.dart @@ -786,7 +786,7 @@ class _NavigationPageState extends ExamplePageState { NavigationAudioGuidanceSettings( isBluetoothAudioEnabled: true, isVibrationEnabled: true, - guidanceType: NavigationAudioGuidanceType.alertsAndGuidance, + guidanceType: NavigationAudioGuidanceType.silent, ), ); }