From 732dfd7729b63eef9243991c3bed07d2c7d4d10c Mon Sep 17 00:00:00 2001 From: Alexandru Chircu Date: Fri, 6 Mar 2020 09:07:23 +0000 Subject: [PATCH 1/2] Added stub for setMapStyleOptions; don't set a member to null because it was still used after onDestroy() --- .../src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b31472cb4..cd0385879 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 @@ -436,7 +436,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } - override fun snapshot(callback: ISnapshotReadyCallback, bitmap: IObjectWrapper) { + override fun snapshot(callback: ISnapshotReadyCallback, bitmap: IObjectWrapper?) { Log.d(TAG, "unimplemented Method: snapshot") } -- GitLab From 9b9ed816f79198e50633a67dd52df197cfcc3520 Mon Sep 17 00:00:00 2001 From: Alexandru Chircu Date: Fri, 6 Mar 2020 16:53:40 +0000 Subject: [PATCH 2/2] Added stub for setMapStyleOptions; don't set a member to null because it was still used after onDestroy() --- .gitignore | 5 +++++ extern/GmsApi | 2 +- .../org/microg/gms/maps/mapbox/GoogleMap.kt | 19 +++++++++++++++++-- .../org/microg/gms/maps/mapbox/MapView.kt | 1 + .../microg/gms/maps/vtm/GoogleMapImpl.java | 7 +++++++ 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 25ed36579..08f6e53da 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,8 @@ build/ user.gradle local.properties .directory +bin/ +.project +.classpath +.output/ +.settings/ diff --git a/extern/GmsApi b/extern/GmsApi index 09bf94940..c6448e7c5 160000 --- a/extern/GmsApi +++ b/extern/GmsApi @@ -1 +1 @@ -Subproject commit 09bf9494038ab53e0b86d8699db409b955fe3c0c +Subproject commit c6448e7c55ff95c49a6affe2e514ef96b0a30bf3 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 b31472cb4..15177118a 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 @@ -210,6 +210,11 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) override fun stopAnimation() = map?.cancelTransitions() ?: Unit + override fun setMapStyle(options: MapStyleOptions?): Boolean { + Log.d(TAG, "setMapStyle options: " + options?.getJson()) + return true + } + override fun setMinZoomPreference(minZoom: Float) { map?.setMinZoomPreference(minZoom.toDouble() - 1) } @@ -678,23 +683,33 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) override fun onResume() = mapView?.onResume() ?: Unit override fun onPause() = mapView?.onPause() ?: Unit override fun onDestroy() { - Log.d(TAG, "destroy"); + Log.d(TAG, "destroy") circleManager?.onDestroy() circleManager = null + lineManager?.onDestroy() lineManager = null + fillManager?.onDestroy() fillManager = null + symbolManager?.onDestroy() symbolManager = null + pendingMarkers.clear() markers.clear() + BitmapDescriptorFactoryImpl.unregisterMap(map) + view.removeView(mapView) + // TODO can crash? mapView?.onDestroy() mapView = null - map = null + + // Don't make it null; this object is not deleted immediately, and it may want to access map.* stuff + //map = null + created = false initialized = false loaded = false diff --git a/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/MapView.kt b/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/MapView.kt index 572eba6f5..9aa8bfd14 100644 --- a/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/MapView.kt +++ b/play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/MapView.kt @@ -46,6 +46,7 @@ class MapViewImpl(private val context: Context, options: GoogleMapOptions?) : IM override fun onResume() = map?.onResume() ?: Unit override fun onPause() = map?.onPause() ?: Unit override fun onDestroy() { + Log.d(TAG, "destroy") map?.onDestroy() map = null } diff --git a/play-services-maps-core-vtm/src/main/java/org/microg/gms/maps/vtm/GoogleMapImpl.java b/play-services-maps-core-vtm/src/main/java/org/microg/gms/maps/vtm/GoogleMapImpl.java index b18189a4f..f16d621f2 100644 --- a/play-services-maps-core-vtm/src/main/java/org/microg/gms/maps/vtm/GoogleMapImpl.java +++ b/play-services-maps-core-vtm/src/main/java/org/microg/gms/maps/vtm/GoogleMapImpl.java @@ -59,6 +59,7 @@ import com.google.android.gms.maps.model.CircleOptions; import com.google.android.gms.maps.model.GroundOverlayOptions; import com.google.android.gms.maps.model.LatLngBounds; import com.google.android.gms.maps.model.MarkerOptions; +import com.google.android.gms.maps.model.MapStyleOptions; import com.google.android.gms.maps.model.PolygonOptions; import com.google.android.gms.maps.model.PolylineOptions; import com.google.android.gms.maps.model.TileOverlayOptions; @@ -210,6 +211,12 @@ public class GoogleMapImpl extends IGoogleMapDelegate.Stub } + @Override + public boolean setMapStyle(MapStyleOptions options) throws RemoteException { + Log.d(TAG, "unimplemented Method: setMapStyle"); + return true; + } + @Override public void setMinZoomPreference(float minZoom) throws RemoteException { Log.d(TAG, "unimplemented Method: setMinZoomPreference"); -- GitLab