From 6e98c71f60cca2a0e73f7c2c8edb0a71ffeb11b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Tue, 4 Nov 2025 17:30:32 +0300 Subject: [PATCH 1/2] fix: potential fix for crash in Samsung Devices --- .../maps/android/compose/internal/GoogleMapsInitializer.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/maps-compose/src/main/java/com/google/maps/android/compose/internal/GoogleMapsInitializer.kt b/maps-compose/src/main/java/com/google/maps/android/compose/internal/GoogleMapsInitializer.kt index 9614cafb..277d5000 100644 --- a/maps-compose/src/main/java/com/google/maps/android/compose/internal/GoogleMapsInitializer.kt +++ b/maps-compose/src/main/java/com/google/maps/android/compose/internal/GoogleMapsInitializer.kt @@ -142,9 +142,11 @@ public class DefaultGoogleMapsInitializer( _state.value = InitializationState.INITIALIZING } - withContext(ioDispatcher) { + withContext(Dispatchers.Main) { if (MapsInitializer.initialize(context) == ConnectionResult.SUCCESS) { - MapsApiSettings.addInternalUsageAttributionId(context, attributionId) + withContext(ioDispatcher) { + MapsApiSettings.addInternalUsageAttributionId(context, attributionId) + } _state.value = InitializationState.SUCCESS } else { _state.value = InitializationState.FAILURE From 1a82ae78ad2d614dfeb74c625495241cf73be09c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Wed, 5 Nov 2025 13:12:03 +0300 Subject: [PATCH 2/2] fix: fixing dispatcher issue --- .../maps/android/compose/internal/GoogleMapsInitializerTest.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/maps-app/src/test/java/com/google/maps/android/compose/internal/GoogleMapsInitializerTest.kt b/maps-app/src/test/java/com/google/maps/android/compose/internal/GoogleMapsInitializerTest.kt index 69aec26b..c48ea53b 100644 --- a/maps-app/src/test/java/com/google/maps/android/compose/internal/GoogleMapsInitializerTest.kt +++ b/maps-app/src/test/java/com/google/maps/android/compose/internal/GoogleMapsInitializerTest.kt @@ -23,11 +23,13 @@ import io.mockk.every import io.mockk.mockk import io.mockk.mockkStatic import io.mockk.verify +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch import kotlinx.coroutines.test.TestDispatcher import kotlinx.coroutines.test.UnconfinedTestDispatcher import kotlinx.coroutines.test.runTest +import kotlinx.coroutines.test.setMain import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test @@ -51,6 +53,7 @@ class GoogleMapsInitializerTest { every { MapsApiSettings.addInternalUsageAttributionId(any(), any()) } returns Unit testDispatcher = UnconfinedTestDispatcher() + Dispatchers.setMain(testDispatcher) googleMapsInitializer = DefaultGoogleMapsInitializer(testDispatcher) }