Loading play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IGoogleMapDelegate.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ import com.google.android.gms.maps.internal.IOnMapLongClickListener; import com.google.android.gms.maps.internal.IOnMarkerClickListener; import com.google.android.gms.maps.internal.IOnMarkerDragListener; import com.google.android.gms.maps.internal.IOnInfoWindowClickListener; import com.google.android.gms.maps.internal.IOnInfoWindowCloseListener; import com.google.android.gms.maps.internal.IOnInfoWindowLongClickListener; import com.google.android.gms.maps.internal.IInfoWindowAdapter; import com.google.android.gms.maps.internal.IOnMapLoadedCallback; import com.google.android.gms.maps.internal.IOnMyLocationChangeListener; Loading Loading @@ -121,9 +123,9 @@ interface IGoogleMapDelegate { void onExitAmbient() = 81; //void setOnGroundOverlayClickListener(IOnGroundOverlayClickListener listener) = 82; //void setInfoWindowLongClickListener(IOnInfoWindowLongClickListener listener) = 83; void setInfoWindowLongClickListener(IOnInfoWindowLongClickListener listener) = 83; //void setPolygonClickListener(IOnPolygonClickListener listener) = 84; //void setInfoWindowCloseListener(IOnInfoWindowCloseListener listener) = 85; void setInfoWindowCloseListener(IOnInfoWindowCloseListener listener) = 85; //void setPolylineClickListener(IOnPolylineClickListener listener) = 86; void setCircleClickListener(IOnCircleClickListener listener) = 88; Loading play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IOnInfoWindowCloseListener.aidl 0 → 100644 +7 −0 Original line number Diff line number Diff line package com.google.android.gms.maps.internal; import com.google.android.gms.maps.model.internal.IMarkerDelegate; interface IOnInfoWindowCloseListener { void onInfoWindowClose(IMarkerDelegate marker); } play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IOnInfoWindowLongClickListener.aidl 0 → 100644 +7 −0 Original line number Diff line number Diff line package com.google.android.gms.maps.internal; import com.google.android.gms.maps.model.internal.IMarkerDelegate; interface IOnInfoWindowLongClickListener { void onInfoWindowLongClick(IMarkerDelegate marker); } play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt +51 −7 Original line number Diff line number Diff line Loading @@ -54,6 +54,9 @@ import com.mapbox.mapboxsdk.plugins.annotation.Annotation import com.mapbox.mapboxsdk.style.layers.Property.LINE_CAP_ROUND import com.google.android.gms.dynamic.unwrap import com.mapbox.mapboxsdk.WellKnownTileServer import org.microg.gms.maps.mapbox.model.DefaultInfoWindowAdapter import org.microg.gms.maps.mapbox.model.InfoWindow import org.microg.gms.maps.mapbox.model.getInfoWindowViewFor import com.mapbox.mapboxsdk.camera.CameraUpdateFactory import com.mapbox.mapboxsdk.maps.OnMapReadyCallback import org.microg.gms.maps.MapsConstants.* Loading Loading @@ -102,6 +105,13 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) private var markerDragListener: IOnMarkerDragListener? = null private var circleClickListener: IOnCircleClickListener? = null private var infoWindowAdapter: IInfoWindowAdapter = DefaultInfoWindowAdapter(MapContext(context)) internal var onInfoWindowClickListener: IOnInfoWindowClickListener? = null internal var onInfoWindowLongClickListener: IOnInfoWindowLongClickListener? = null internal var onInfoWindowCloseListener: IOnInfoWindowCloseListener? = null var currentInfoWindow: InfoWindow? = null var lineManager: LineManager? = null val pendingLines = mutableSetOf<Markup<Line, LineOptions>>() var lineId = 0L Loading Loading @@ -488,13 +498,19 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } override fun setOnInfoWindowClickListener(listener: IOnInfoWindowClickListener?) { Log.d(TAG, "unimplemented Method: setOnInfoWindowClickListener") onInfoWindowClickListener = listener } override fun setInfoWindowLongClickListener(listener: IOnInfoWindowLongClickListener) { onInfoWindowLongClickListener = listener } override fun setInfoWindowAdapter(adapter: IInfoWindowAdapter?) { Log.d(TAG, "unimplemented Method: setInfoWindowAdapter") override fun setInfoWindowCloseListener(listener: IOnInfoWindowCloseListener) { onInfoWindowCloseListener = listener } override fun setInfoWindowAdapter(adapter: IInfoWindowAdapter?) { infoWindowAdapter = adapter ?: DefaultInfoWindowAdapter(MapContext(context)) } override fun getTestingHelper(): IObjectWrapper? { Loading Loading @@ -616,6 +632,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) map.addOnCameraMoveListener { try { cameraMoveListener?.onCameraMove() currentInfoWindow?.update() } catch (e: Exception) { Log.w(TAG, e) } Loading @@ -636,7 +653,11 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } map.addOnMapClickListener { latlng -> try { mapClickListener?.let { if (!hasSymbolAt(latlng)) it.onMapClick(latlng.toGms()); } if (!hasSymbolAt(latlng)) { mapClickListener?.onMapClick(latlng.toGms()) currentInfoWindow?.close() currentInfoWindow = null } } catch (e: Exception) { Log.w(TAG, e) } Loading Loading @@ -690,12 +711,17 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } symbolManager.iconAllowOverlap = true symbolManager.addClickListener { val marker = markers[it.id] try { markers[it.id]?.let { markerClickListener?.onMarkerClick(it) } == true if (markers[it.id]?.let { markerClickListener?.onMarkerClick(it) } == true) { return@addClickListener true } } catch (e: Exception) { Log.w(TAG, e) false return@addClickListener false } marker?.let { showInfoWindow(it) } == true } symbolManager.addDragListener(object : OnSymbolDragListener { override fun onAnnotationDragStarted(annotation: Symbol?) { Loading @@ -708,7 +734,12 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) override fun onAnnotationDrag(annotation: Symbol?) { try { markers[annotation?.id]?.let { markerDragListener?.onMarkerDrag(it) } annotation?.let { symbol -> markers[symbol.id]?.let { marker -> marker.setPositionWhileDragging(symbol.latLng.toGms()) markerDragListener?.onMarkerDrag(marker) } } } catch (e: Exception) { Log.w(TAG, e) } Loading Loading @@ -773,6 +804,17 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } } internal fun showInfoWindow(marker: MarkerImpl): Boolean { infoWindowAdapter.getInfoWindowViewFor(marker, MapContext(context))?.let { infoView -> currentInfoWindow?.close() currentInfoWindow = InfoWindow(infoView, this, marker).also { infoWindow -> mapView?.let { infoWindow.open(it) } } return true } return false } override fun useViewLifecycleWhenInFragment(): Boolean { Log.d(TAG, "unimplemented Method: useViewLifecycleWhenInFragment") return false Loading @@ -793,6 +835,8 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) symbolManager?.onDestroy() symbolManager = null currentInfoWindow?.close() pendingMarkers.clear() markers.clear() Loading play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/model/BitmapDescriptor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import com.mapbox.mapboxsdk.plugins.annotation.SymbolOptions import com.mapbox.mapboxsdk.style.layers.Property.ICON_ANCHOR_TOP_LEFT import com.mapbox.mapboxsdk.utils.ColorUtils open class BitmapDescriptorImpl(private val id: String, private val size: FloatArray) { open class BitmapDescriptorImpl(private val id: String, internal val size: FloatArray) { open fun applyTo(options: SymbolOptions, anchor: FloatArray, dpiFactor: Float): SymbolOptions { return options.withIconImage(id).withIconAnchor(ICON_ANCHOR_TOP_LEFT).withIconOffset(arrayOf(-anchor[0] * size[0] / dpiFactor, -anchor[1] * size[1] / dpiFactor)) } Loading Loading
play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IGoogleMapDelegate.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ import com.google.android.gms.maps.internal.IOnMapLongClickListener; import com.google.android.gms.maps.internal.IOnMarkerClickListener; import com.google.android.gms.maps.internal.IOnMarkerDragListener; import com.google.android.gms.maps.internal.IOnInfoWindowClickListener; import com.google.android.gms.maps.internal.IOnInfoWindowCloseListener; import com.google.android.gms.maps.internal.IOnInfoWindowLongClickListener; import com.google.android.gms.maps.internal.IInfoWindowAdapter; import com.google.android.gms.maps.internal.IOnMapLoadedCallback; import com.google.android.gms.maps.internal.IOnMyLocationChangeListener; Loading Loading @@ -121,9 +123,9 @@ interface IGoogleMapDelegate { void onExitAmbient() = 81; //void setOnGroundOverlayClickListener(IOnGroundOverlayClickListener listener) = 82; //void setInfoWindowLongClickListener(IOnInfoWindowLongClickListener listener) = 83; void setInfoWindowLongClickListener(IOnInfoWindowLongClickListener listener) = 83; //void setPolygonClickListener(IOnPolygonClickListener listener) = 84; //void setInfoWindowCloseListener(IOnInfoWindowCloseListener listener) = 85; void setInfoWindowCloseListener(IOnInfoWindowCloseListener listener) = 85; //void setPolylineClickListener(IOnPolylineClickListener listener) = 86; void setCircleClickListener(IOnCircleClickListener listener) = 88; Loading
play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IOnInfoWindowCloseListener.aidl 0 → 100644 +7 −0 Original line number Diff line number Diff line package com.google.android.gms.maps.internal; import com.google.android.gms.maps.model.internal.IMarkerDelegate; interface IOnInfoWindowCloseListener { void onInfoWindowClose(IMarkerDelegate marker); }
play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IOnInfoWindowLongClickListener.aidl 0 → 100644 +7 −0 Original line number Diff line number Diff line package com.google.android.gms.maps.internal; import com.google.android.gms.maps.model.internal.IMarkerDelegate; interface IOnInfoWindowLongClickListener { void onInfoWindowLongClick(IMarkerDelegate marker); }
play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt +51 −7 Original line number Diff line number Diff line Loading @@ -54,6 +54,9 @@ import com.mapbox.mapboxsdk.plugins.annotation.Annotation import com.mapbox.mapboxsdk.style.layers.Property.LINE_CAP_ROUND import com.google.android.gms.dynamic.unwrap import com.mapbox.mapboxsdk.WellKnownTileServer import org.microg.gms.maps.mapbox.model.DefaultInfoWindowAdapter import org.microg.gms.maps.mapbox.model.InfoWindow import org.microg.gms.maps.mapbox.model.getInfoWindowViewFor import com.mapbox.mapboxsdk.camera.CameraUpdateFactory import com.mapbox.mapboxsdk.maps.OnMapReadyCallback import org.microg.gms.maps.MapsConstants.* Loading Loading @@ -102,6 +105,13 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) private var markerDragListener: IOnMarkerDragListener? = null private var circleClickListener: IOnCircleClickListener? = null private var infoWindowAdapter: IInfoWindowAdapter = DefaultInfoWindowAdapter(MapContext(context)) internal var onInfoWindowClickListener: IOnInfoWindowClickListener? = null internal var onInfoWindowLongClickListener: IOnInfoWindowLongClickListener? = null internal var onInfoWindowCloseListener: IOnInfoWindowCloseListener? = null var currentInfoWindow: InfoWindow? = null var lineManager: LineManager? = null val pendingLines = mutableSetOf<Markup<Line, LineOptions>>() var lineId = 0L Loading Loading @@ -488,13 +498,19 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } override fun setOnInfoWindowClickListener(listener: IOnInfoWindowClickListener?) { Log.d(TAG, "unimplemented Method: setOnInfoWindowClickListener") onInfoWindowClickListener = listener } override fun setInfoWindowLongClickListener(listener: IOnInfoWindowLongClickListener) { onInfoWindowLongClickListener = listener } override fun setInfoWindowAdapter(adapter: IInfoWindowAdapter?) { Log.d(TAG, "unimplemented Method: setInfoWindowAdapter") override fun setInfoWindowCloseListener(listener: IOnInfoWindowCloseListener) { onInfoWindowCloseListener = listener } override fun setInfoWindowAdapter(adapter: IInfoWindowAdapter?) { infoWindowAdapter = adapter ?: DefaultInfoWindowAdapter(MapContext(context)) } override fun getTestingHelper(): IObjectWrapper? { Loading Loading @@ -616,6 +632,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) map.addOnCameraMoveListener { try { cameraMoveListener?.onCameraMove() currentInfoWindow?.update() } catch (e: Exception) { Log.w(TAG, e) } Loading @@ -636,7 +653,11 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } map.addOnMapClickListener { latlng -> try { mapClickListener?.let { if (!hasSymbolAt(latlng)) it.onMapClick(latlng.toGms()); } if (!hasSymbolAt(latlng)) { mapClickListener?.onMapClick(latlng.toGms()) currentInfoWindow?.close() currentInfoWindow = null } } catch (e: Exception) { Log.w(TAG, e) } Loading Loading @@ -690,12 +711,17 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } symbolManager.iconAllowOverlap = true symbolManager.addClickListener { val marker = markers[it.id] try { markers[it.id]?.let { markerClickListener?.onMarkerClick(it) } == true if (markers[it.id]?.let { markerClickListener?.onMarkerClick(it) } == true) { return@addClickListener true } } catch (e: Exception) { Log.w(TAG, e) false return@addClickListener false } marker?.let { showInfoWindow(it) } == true } symbolManager.addDragListener(object : OnSymbolDragListener { override fun onAnnotationDragStarted(annotation: Symbol?) { Loading @@ -708,7 +734,12 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) override fun onAnnotationDrag(annotation: Symbol?) { try { markers[annotation?.id]?.let { markerDragListener?.onMarkerDrag(it) } annotation?.let { symbol -> markers[symbol.id]?.let { marker -> marker.setPositionWhileDragging(symbol.latLng.toGms()) markerDragListener?.onMarkerDrag(marker) } } } catch (e: Exception) { Log.w(TAG, e) } Loading Loading @@ -773,6 +804,17 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } } internal fun showInfoWindow(marker: MarkerImpl): Boolean { infoWindowAdapter.getInfoWindowViewFor(marker, MapContext(context))?.let { infoView -> currentInfoWindow?.close() currentInfoWindow = InfoWindow(infoView, this, marker).also { infoWindow -> mapView?.let { infoWindow.open(it) } } return true } return false } override fun useViewLifecycleWhenInFragment(): Boolean { Log.d(TAG, "unimplemented Method: useViewLifecycleWhenInFragment") return false Loading @@ -793,6 +835,8 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) symbolManager?.onDestroy() symbolManager = null currentInfoWindow?.close() pendingMarkers.clear() markers.clear() Loading
play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/model/BitmapDescriptor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import com.mapbox.mapboxsdk.plugins.annotation.SymbolOptions import com.mapbox.mapboxsdk.style.layers.Property.ICON_ANCHOR_TOP_LEFT import com.mapbox.mapboxsdk.utils.ColorUtils open class BitmapDescriptorImpl(private val id: String, private val size: FloatArray) { open class BitmapDescriptorImpl(private val id: String, internal val size: FloatArray) { open fun applyTo(options: SymbolOptions, anchor: FloatArray, dpiFactor: Float): SymbolOptions { return options.withIconImage(id).withIconAnchor(ICON_ANCHOR_TOP_LEFT).withIconOffset(arrayOf(-anchor[0] * size[0] / dpiFactor, -anchor[1] * size[1] / dpiFactor)) } Loading