From 0008c656213baa6db022a38206fe60ce761fd3ea Mon Sep 17 00:00:00 2001 From: Fynn Godau Date: Tue, 17 Jan 2023 10:44:26 +0100 Subject: [PATCH] Snapshots --- .../kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt b/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt index 1ca155ec4..bdbfcff59 100644 --- a/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt +++ b/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt @@ -30,6 +30,7 @@ import android.widget.FrameLayout import android.widget.RelativeLayout import androidx.collection.LongSparseArray import com.google.android.gms.dynamic.IObjectWrapper +import com.google.android.gms.dynamic.ObjectWrapper import com.google.android.gms.maps.GoogleMapOptions import com.google.android.gms.maps.internal.* import com.google.android.gms.maps.model.* @@ -481,8 +482,17 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } override fun snapshot(callback: ISnapshotReadyCallback, bitmap: IObjectWrapper?) { - Log.d(TAG, "unimplemented Method: snapshot") - + val map = map + if (map == null) { + // Snapshot cannot be taken + runOnMainLooper { callback.onBitmapWrappedReady(ObjectWrapper.wrap(null)) } + } else { + map.snapshot { + runOnMainLooper { + callback.onBitmapWrappedReady(ObjectWrapper.wrap(it)) + } + } + } } override fun setPadding(left: Int, top: Int, right: Int, bottom: Int) { -- GitLab