From a5b63e632acfc0c8ace53485581cf93f24216579 Mon Sep 17 00:00:00 2001 From: Davinci9196 Date: Mon, 22 Dec 2025 15:06:12 +0800 Subject: [PATCH] HmsMaps: Modify the Snapshot method --- .../main/kotlin/org/microg/gms/maps/hms/GoogleMap.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/play-services-maps/core/hms/src/main/kotlin/org/microg/gms/maps/hms/GoogleMap.kt b/play-services-maps/core/hms/src/main/kotlin/org/microg/gms/maps/hms/GoogleMap.kt index 0f239266f2..3f6cc457df 100644 --- a/play-services-maps/core/hms/src/main/kotlin/org/microg/gms/maps/hms/GoogleMap.kt +++ b/play-services-maps/core/hms/src/main/kotlin/org/microg/gms/maps/hms/GoogleMap.kt @@ -22,6 +22,7 @@ import androidx.annotation.IdRes import androidx.annotation.Keep import androidx.collection.LongSparseArray import com.google.android.gms.dynamic.IObjectWrapper +import com.google.android.gms.dynamic.ObjectWrapper import com.google.android.gms.dynamic.unwrap import com.google.android.gms.maps.GoogleMap.MAP_TYPE_TERRAIN import com.google.android.gms.maps.GoogleMapOptions @@ -588,10 +589,12 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } override fun snapshot(callback: ISnapshotReadyCallback, bitmap: IObjectWrapper?) = afterInitialize { - Log.d(TAG, "snapshot") - val hmsBitmap = bitmap.unwrap() ?: return@afterInitialize - val hmsCallback = HuaweiMap.SnapshotReadyCallback { p0 -> callback.onBitmapReady(p0) } - it.snapshot(hmsCallback, hmsBitmap) + Log.d(TAG, "taking snapshot now") + val hmsCallback = HuaweiMap.SnapshotReadyCallback { result -> runOnMainLooper { + Log.d(TAG, "take snapshot end. $result") + callback.onBitmapWrappedReady(ObjectWrapper.wrap(result)) + } } + it.snapshot(hmsCallback) } override fun snapshotForTest(callback: ISnapshotReadyCallback) = afterInitialize {