From 668dcb27c233c44e328cb96de83f34232b07fb5a Mon Sep 17 00:00:00 2001 From: Dale Hawkins <107309+dkhawk@users.noreply.github.com> Date: Mon, 10 Aug 2026 17:43:26 -0600 Subject: [PATCH 1/2] chore(deps): update to maps-utils 6.0.0 and maps-compose 9.0.0 --- ApiDemos/project/java-app/build.gradle.kts | 2 +- ApiDemos/project/kotlin-app/build.gradle.kts | 3 +-- .../kotlindemos/GroundOverlayDemoActivityTest.kt | 2 +- .../example/kotlindemos/CameraClampingDemoActivity.kt | 4 ++-- .../com/example/kotlindemos/CircleDemoActivity.kt | 4 ++-- .../example/kotlindemos/LocationSourceDemoActivity.kt | 2 +- .../example/kotlindemos/ProgrammaticDemoActivity.kt | 4 ++-- .../com/example/kotlindemos/RetainMapDemoActivity.kt | 4 ++-- .../com/example/kotlindemos/SaveStateDemoActivity.kt | 4 ++-- .../com/example/kotlindemos/SnapshotDemoActivity.kt | 2 +- FireMarkers/app/build.gradle.kts | 6 +++++- .../example/firemarkers/viewmodel/MarkersViewModel.kt | 2 +- gradle.properties | 3 ++- gradle/libs.versions.toml | 11 +++++------ snippets/app-compose/build.gradle.kts | 1 - snippets/app-ktx/build.gradle.kts | 4 ++-- .../app-ktx/src/main/java/com/example/app_ktx/KTX.kt | 6 +++--- snippets/app-rx/build.gradle.kts | 2 +- snippets/app-utils-ktx/build.gradle.kts | 4 ++-- .../main/java/com/example/app_utils_ktx/GeoJSON.kt | 4 ++-- .../src/main/java/com/example/app_utils_ktx/KML.kt | 4 ++-- 21 files changed, 40 insertions(+), 38 deletions(-) diff --git a/ApiDemos/project/java-app/build.gradle.kts b/ApiDemos/project/java-app/build.gradle.kts index 096a2764f..8aa688ac0 100644 --- a/ApiDemos/project/java-app/build.gradle.kts +++ b/ApiDemos/project/java-app/build.gradle.kts @@ -71,7 +71,7 @@ dependencies { implementation(libs.activity) implementation(project(":ApiDemos:common-ui")) implementation(libs.uiautomator) - implementation(libs.maps.utils.ktx) + implementation(libs.android.maps.utils) // Tests testImplementation(libs.junit) diff --git a/ApiDemos/project/kotlin-app/build.gradle.kts b/ApiDemos/project/kotlin-app/build.gradle.kts index 70a9c1dad..3cb081105 100644 --- a/ApiDemos/project/kotlin-app/build.gradle.kts +++ b/ApiDemos/project/kotlin-app/build.gradle.kts @@ -81,8 +81,7 @@ dependencies { implementation(libs.material) implementation(libs.lifecycle.runtime.ktx) - implementation(libs.maps.ktx) - implementation(libs.maps.utils.ktx) + implementation(libs.android.maps.utils) implementation(libs.play.services.location) implementation(libs.activity) diff --git a/ApiDemos/project/kotlin-app/src/androidTest/java/com/example/kotlindemos/GroundOverlayDemoActivityTest.kt b/ApiDemos/project/kotlin-app/src/androidTest/java/com/example/kotlindemos/GroundOverlayDemoActivityTest.kt index 2616d1901..c907f317a 100644 --- a/ApiDemos/project/kotlin-app/src/androidTest/java/com/example/kotlindemos/GroundOverlayDemoActivityTest.kt +++ b/ApiDemos/project/kotlin-app/src/androidTest/java/com/example/kotlindemos/GroundOverlayDemoActivityTest.kt @@ -22,7 +22,7 @@ import com.example.kotlindemos.utils.MapDemoActivityTest import com.google.android.gms.maps.model.BitmapDescriptor import com.google.android.gms.maps.model.GroundOverlay import com.google.common.truth.Truth.assertThat -import com.google.maps.android.ktx.utils.withSphericalOffset +import com.google.maps.android.withSphericalOffset import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CameraClampingDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CameraClampingDemoActivity.kt index e55bca42c..4b9878668 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CameraClampingDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CameraClampingDemoActivity.kt @@ -24,8 +24,8 @@ import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.CameraPosition import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.LatLngBounds -import com.google.maps.android.ktx.awaitMap -import com.google.maps.android.ktx.cameraIdleEvents +import com.google.maps.android.awaitMap +import com.google.maps.android.cameraIdleEvents import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CircleDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CircleDemoActivity.kt index 9d1217d23..6d18f09aa 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CircleDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CircleDemoActivity.kt @@ -41,8 +41,8 @@ import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.Marker import com.google.android.gms.maps.model.MarkerOptions import com.google.android.gms.maps.model.PatternItem -import com.google.maps.android.ktx.utils.sphericalDistance -import com.google.maps.android.ktx.utils.withSphericalOffset +import com.google.maps.android.sphericalDistance +import com.google.maps.android.withSphericalOffset import java.util.ArrayList diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt index 55cb9d63f..dc000b9e5 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt @@ -31,7 +31,7 @@ import com.google.android.gms.maps.LocationSource import com.google.android.gms.maps.LocationSource.OnLocationChangedListener import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.awaitMap import kotlinx.coroutines.launch diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt index fdb4f236a..95abc8785 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt @@ -18,8 +18,8 @@ import android.view.View import androidx.lifecycle.lifecycleScope import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.addMarker -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.addMarker +import com.google.maps.android.awaitMap import kotlinx.coroutines.launch /** diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt index f837e601c..d2dfffaf3 100755 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt @@ -19,8 +19,8 @@ import androidx.lifecycle.lifecycleScope import com.example.common_ui.R import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.addMarker -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.addMarker +import com.google.maps.android.awaitMap import kotlinx.coroutines.launch /** diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SaveStateDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SaveStateDemoActivity.kt index a9b116003..588de2504 100755 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SaveStateDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SaveStateDemoActivity.kt @@ -25,8 +25,8 @@ import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.BitmapDescriptorFactory import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.Marker -import com.google.maps.android.ktx.addMarker -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.addMarker +import com.google.maps.android.awaitMap import kotlinx.parcelize.Parcelize import kotlinx.coroutines.launch import java.util.Random diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SnapshotDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SnapshotDemoActivity.kt index 4ccd4fdd0..ab4561907 100755 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SnapshotDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SnapshotDemoActivity.kt @@ -25,7 +25,7 @@ import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.awaitMap import kotlinx.coroutines.launch /** diff --git a/FireMarkers/app/build.gradle.kts b/FireMarkers/app/build.gradle.kts index d54da0788..07c5df06c 100644 --- a/FireMarkers/app/build.gradle.kts +++ b/FireMarkers/app/build.gradle.kts @@ -44,6 +44,10 @@ plugins { alias(libs.plugins.kotlin.serialization) // Provides Kotlin serialization capabilities. } +hilt { + enableAggregatingTask = false +} + if (file("google-services.json").exists()) { apply(plugin = "com.google.gms.google-services") println("Applied Google Services plugin.") @@ -139,7 +143,7 @@ dependencies { // icons, and navigation components for Compose. // --------------------------------------------------------------------------------------------- implementation(libs.maps.compose) - implementation(libs.maps.utils.ktx) + implementation(libs.android.maps.utils) // --------------------------------------------------------------------------------------------- // Kotlin Libraries diff --git a/FireMarkers/app/src/main/java/com/example/firemarkers/viewmodel/MarkersViewModel.kt b/FireMarkers/app/src/main/java/com/example/firemarkers/viewmodel/MarkersViewModel.kt index 8a415d263..7bbd08ec2 100644 --- a/FireMarkers/app/src/main/java/com/example/firemarkers/viewmodel/MarkersViewModel.kt +++ b/FireMarkers/app/src/main/java/com/example/firemarkers/viewmodel/MarkersViewModel.kt @@ -25,7 +25,7 @@ import com.google.firebase.database.DataSnapshot import com.google.firebase.database.DatabaseError import com.google.firebase.database.ServerValue import com.google.firebase.database.ValueEventListener -import com.google.maps.android.ktx.utils.withSphericalLinearInterpolation +import com.google.maps.android.withSphericalLinearInterpolation import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Job import kotlinx.coroutines.delay diff --git a/gradle.properties b/gradle.properties index 00be7f2b8..41d47bf89 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Dkotlinx.metadata.jvm.lenient=true -Dkotlin.metadata.jvm.lenient=true # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit @@ -18,3 +18,4 @@ org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # org.gradle.parallel=true android.enableJetifier=true android.useAndroidX=true +android.suppressUnsupportedCompileSdk=37 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f2c4ccacd..bbfe6f8bf 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -21,7 +21,7 @@ androidxJunit = "1.3.0" # Test ext appcompat = "1.8.0" cardview = "1.0.0" constraintlayout = "2.2.2" -coreKtx = "1.19.0" +coreKtx = "1.19.1" lifecycle = "2.11.0" multidex = "2.0.1" navigation = "2.10.1" @@ -36,9 +36,8 @@ material3 = "1.4.0" materialIconsExtended = "1.7.8" # Google Maps & Places -mapsCompose = "8.6.0" -mapsKtx = "6.4.1" -mapsUtils = "5.2.0" +mapsCompose = "9.0.0" +mapsUtils = "6.0.0" places = "5.3.0" playServicesLocation = "21.4.0" playServicesMaps = "20.0.0" @@ -106,9 +105,9 @@ ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", versio # Maps & Places maps-compose = { module = "com.google.maps.android:maps-compose", version.ref = "mapsCompose" } -maps-ktx = { group = "com.google.maps.android", name = "maps-ktx", version.ref = "mapsKtx" } +android-maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "mapsUtils" } +android-maps-utils-core = { module = "com.google.maps.android:android-maps-utils-core", version.ref = "mapsUtils" } maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "mapsUtils" } -maps-utils-ktx = { group = "com.google.maps.android", name = "maps-utils-ktx", version.ref = "mapsKtx" } places = { group = "com.google.android.libraries.places", name = "places", version.ref = "places" } play-services-location = { group = "com.google.android.gms", name = "play-services-location", version.ref = "playServicesLocation" } play-services-maps = { group = "com.google.android.gms", name = "play-services-maps", version.ref = "playServicesMaps" } diff --git a/snippets/app-compose/build.gradle.kts b/snippets/app-compose/build.gradle.kts index 83f1bb505..ac25bf249 100644 --- a/snippets/app-compose/build.gradle.kts +++ b/snippets/app-compose/build.gradle.kts @@ -97,7 +97,6 @@ dependencies { // // Android Maps Compose composables for the Maps SDK for Android implementation(libs.maps.compose) - // If your project does not use a version catalog, you can use the following dependency instead: // // implementation("com.google.maps.android:maps-compose:8.4.0") diff --git a/snippets/app-ktx/build.gradle.kts b/snippets/app-ktx/build.gradle.kts index 6abf9419b..e1c6c8c18 100644 --- a/snippets/app-ktx/build.gradle.kts +++ b/snippets/app-ktx/build.gradle.kts @@ -80,8 +80,8 @@ dependencies { implementation(libs.lifecycle.runtime.ktx) // [END_EXCLUDE] - // KTX for the Maps SDK for Android library - implementation(libs.maps.ktx) + // Maps SDK for Android Utils library (includes KTX extensions) + implementation(libs.android.maps.utils) } // [END maps_android_ktx_install_snippet] diff --git a/snippets/app-ktx/src/main/java/com/example/app_ktx/KTX.kt b/snippets/app-ktx/src/main/java/com/example/app_ktx/KTX.kt index 0042aedd8..37c4757cf 100644 --- a/snippets/app-ktx/src/main/java/com/example/app_ktx/KTX.kt +++ b/snippets/app-ktx/src/main/java/com/example/app_ktx/KTX.kt @@ -24,9 +24,9 @@ import androidx.lifecycle.repeatOnLifecycle import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.addMarker -import com.google.maps.android.ktx.awaitMap -import com.google.maps.android.ktx.cameraMoveEvents +import com.google.maps.android.addMarker +import com.google.maps.android.awaitMap +import com.google.maps.android.cameraMoveEvents import com.google.maps.example.ktx.R import kotlinx.coroutines.launch diff --git a/snippets/app-rx/build.gradle.kts b/snippets/app-rx/build.gradle.kts index bb48fd8fc..ccce18863 100644 --- a/snippets/app-rx/build.gradle.kts +++ b/snippets/app-rx/build.gradle.kts @@ -87,7 +87,7 @@ dependencies { implementation(libs.lifecycle.runtime.ktx) implementation(libs.material) implementation(libs.rxlifecycle.android.lifecycle.kotlin) - implementation(libs.maps.ktx) + implementation(libs.android.maps.utils) implementation(libs.kotlin.stdlib.jdk8) // [END_EXCLUDE silent] } diff --git a/snippets/app-utils-ktx/build.gradle.kts b/snippets/app-utils-ktx/build.gradle.kts index 3ef852ef1..b409b172b 100644 --- a/snippets/app-utils-ktx/build.gradle.kts +++ b/snippets/app-utils-ktx/build.gradle.kts @@ -79,8 +79,8 @@ dependencies { implementation(libs.lifecycle.runtime.ktx) // [END_EXCLUDE] - // KTX for the Maps SDK for Android Utility Library - implementation(libs.maps.utils.ktx) + // Maps SDK for Android Utility Library + implementation(libs.android.maps.utils) } // [END maps_android_utils_ktx_install_snippet] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt index 911500d17..32fd0c1fe 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt @@ -31,9 +31,9 @@ internal class GeoJSON { private lateinit var map: GoogleMap private fun addGeoJsonLayerJsonObject() { // [START maps_android_util_geojson_add_jsonobject] - val geoJsonData: JSONObject? = // JSONObject containing the GeoJSON data + val geoJsonData: JSONObject = // JSONObject containing the GeoJSON data // [START_EXCLUDE silent] - null + JSONObject() // [END_EXCLUDE] val layer = GeoJsonLayer(map, geoJsonData!!) // [END maps_android_util_geojson_add_jsonobject] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt index f340ecaac..605d5340f 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt @@ -38,9 +38,9 @@ internal class KML { @Throws(IOException::class, XmlPullParserException::class) private fun addKmlLayerFileInputStream(context: Context) { // [START maps_android_utils_kml_add_input_stream] - val inputStream: InputStream? = // InputStream containing KML data + val inputStream: InputStream = // InputStream containing KML data // [START_EXCLUDE silent] - null + java.io.ByteArrayInputStream(ByteArray(0)) // [END_EXCLUDE] val layer = KmlLayer(map, inputStream!!, context) // [END maps_android_utils_kml_add_input_stream] From 1d525da431591ad180fe4c3a97fb512db57a058d Mon Sep 17 00:00:00 2001 From: Dale Hawkins <107309+dkhawk@users.noreply.github.com> Date: Fri, 2 Oct 2026 14:34:43 -0600 Subject: [PATCH 2/2] chore(deps): remove duplicate maps-utils alias --- gradle/libs.versions.toml | 1 - snippets/app-utils/build.gradle.kts | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bbfe6f8bf..1b07c3e76 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -107,7 +107,6 @@ ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", versio maps-compose = { module = "com.google.maps.android:maps-compose", version.ref = "mapsCompose" } android-maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "mapsUtils" } android-maps-utils-core = { module = "com.google.maps.android:android-maps-utils-core", version.ref = "mapsUtils" } -maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "mapsUtils" } places = { group = "com.google.android.libraries.places", name = "places", version.ref = "places" } play-services-location = { group = "com.google.android.gms", name = "play-services-location", version.ref = "playServicesLocation" } play-services-maps = { group = "com.google.android.gms", name = "play-services-maps", version.ref = "playServicesMaps" } diff --git a/snippets/app-utils/build.gradle.kts b/snippets/app-utils/build.gradle.kts index 4f2da83c9..0b931a5f4 100644 --- a/snippets/app-utils/build.gradle.kts +++ b/snippets/app-utils/build.gradle.kts @@ -83,19 +83,19 @@ dependencies { // first add the following to your gradle/libs.versions.toml file: // // [versions] - // mapsUtils = "5.1.1" + // mapsUtils = "6.0.0" // // [libraries] - // maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "mapsUtils" } + // android-maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "mapsUtils" } // // Utility Library for Maps SDK for Android // You do not need to add a separate dependency for the Maps SDK for Android // since this library builds in the compatible version of the Maps SDK. - implementation(libs.maps.utils) + implementation(libs.android.maps.utils) // If your project does not use a version catalog, you can use the following dependency instead: // - // implementation("com.google.maps.android:android-maps-utils:5.1.1") + // implementation("com.google.maps.android:android-maps-utils:6.0.0") } // [END maps_android_utils_install_snippet]