Loading play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IGoogleMapDelegate.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ import com.google.android.gms.maps.internal.IOnCameraIdleListener; import com.google.android.gms.maps.internal.IOnCameraMoveCanceledListener; import com.google.android.gms.maps.internal.IOnCameraMoveListener; import com.google.android.gms.maps.internal.IOnCameraMoveStartedListener; import com.google.android.gms.maps.internal.IOnCircleClickListener; import com.google.android.gms.maps.internal.IOnMapClickListener; import com.google.android.gms.maps.internal.IOnMapLongClickListener; import com.google.android.gms.maps.internal.IOnMarkerClickListener; Loading Loading @@ -124,7 +125,7 @@ interface IGoogleMapDelegate { //void setPolygonClickListener(IOnPolygonClickListener listener) = 84; //void setInfoWindowCloseListener(IOnInfoWindowCloseListener listener) = 85; //void setPolylineClickListener(IOnPolylineClickListener listener) = 86; //void setCircleClickListener(IOnCircleClickListener listener) = 88; void setCircleClickListener(IOnCircleClickListener listener) = 88; boolean setMapStyle(in MapStyleOptions options) = 90; void setMinZoomPreference(float minZoom) = 91; Loading play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IOnCircleClickListener.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.ICircleDelegate; interface IOnCircleClickListener { void onCircleClick(ICircleDelegate circle); } play-services-api/src/main/aidl/com/google/android/gms/maps/model/internal/ICircleDelegate.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -21,4 +21,6 @@ interface ICircleDelegate { boolean isVisible(); boolean equalsRemote(ICircleDelegate other); int hashCodeRemote(); void setClickable(boolean clickable); boolean isClickable(); } play-services-api/src/main/java/com/google/android/gms/maps/model/CircleOptions.java +22 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,8 @@ public class CircleOptions extends AutoSafeParcelable { private float zIndex = 0; @SafeParceled(8) private boolean visible = true; @SafeParceled(9) private boolean clickable = false; /** * Creates circle options. Loading Loading @@ -144,6 +146,15 @@ public class CircleOptions extends AutoSafeParcelable { return visible; } /** * Gets the clickability setting for the circle. * * @return {@code true} if the circle is clickable; {@code false} if it is not. */ public boolean isClickable() { return clickable; } /** * Sets the radius in meters. * <p/> Loading Loading @@ -217,5 +228,16 @@ public class CircleOptions extends AutoSafeParcelable { return this; } /** * Specifies whether this circle is clickable. The default setting is {@code false}. * * @param clickable * @return this {@code CircleOptions} object with a new clickability setting. */ public CircleOptions clickable(boolean clickable) { this.clickable = clickable; return this; } public static Creator<CircleOptions> CREATOR = new AutoCreator<CircleOptions>(CircleOptions.class); } play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt +22 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) private var mapLongClickListener: IOnMapLongClickListener? = null private var markerClickListener: IOnMarkerClickListener? = null private var markerDragListener: IOnMarkerDragListener? = null private var circleClickListener: IOnCircleClickListener? = null var lineManager: LineManager? = null val pendingLines = mutableSetOf<Markup<Line, LineOptions>>() Loading @@ -103,6 +104,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) var fillManager: FillManager? = null val pendingFills = mutableSetOf<Markup<Fill, FillOptions>>() val circles = mutableMapOf<Long, CircleImpl>() var fillId = 0L var symbolManager: SymbolManager? = null Loading Loading @@ -454,6 +456,10 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) markerDragListener = listener } override fun setCircleClickListener(listener: IOnCircleClickListener?) { circleClickListener = listener } override fun setOnInfoWindowClickListener(listener: IOnInfoWindowClickListener?) { Log.d(TAG, "unimplemented Method: setOnInfoWindowClickListener") Loading Loading @@ -696,6 +702,21 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } } }) fillManager.addClickListener { fill -> try { circles[fill.id]?.let { circle -> if (circle.isClickable) { circleClickListener?.let { it.onCircleClick(circle) return@addClickListener true } } } } catch (e: Exception) { Log.w(TAG, e) } false } pendingFills.forEach { it.update(fillManager) } pendingFills.clear() pendingLines.forEach { it.update(lineManager) } Loading Loading @@ -745,6 +766,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) fillManager?.onDestroy() fillManager = null circles.clear() symbolManager?.onDestroy() symbolManager = null Loading Loading
play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IGoogleMapDelegate.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ import com.google.android.gms.maps.internal.IOnCameraIdleListener; import com.google.android.gms.maps.internal.IOnCameraMoveCanceledListener; import com.google.android.gms.maps.internal.IOnCameraMoveListener; import com.google.android.gms.maps.internal.IOnCameraMoveStartedListener; import com.google.android.gms.maps.internal.IOnCircleClickListener; import com.google.android.gms.maps.internal.IOnMapClickListener; import com.google.android.gms.maps.internal.IOnMapLongClickListener; import com.google.android.gms.maps.internal.IOnMarkerClickListener; Loading Loading @@ -124,7 +125,7 @@ interface IGoogleMapDelegate { //void setPolygonClickListener(IOnPolygonClickListener listener) = 84; //void setInfoWindowCloseListener(IOnInfoWindowCloseListener listener) = 85; //void setPolylineClickListener(IOnPolylineClickListener listener) = 86; //void setCircleClickListener(IOnCircleClickListener listener) = 88; void setCircleClickListener(IOnCircleClickListener listener) = 88; boolean setMapStyle(in MapStyleOptions options) = 90; void setMinZoomPreference(float minZoom) = 91; Loading
play-services-api/src/main/aidl/com/google/android/gms/maps/internal/IOnCircleClickListener.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.ICircleDelegate; interface IOnCircleClickListener { void onCircleClick(ICircleDelegate circle); }
play-services-api/src/main/aidl/com/google/android/gms/maps/model/internal/ICircleDelegate.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -21,4 +21,6 @@ interface ICircleDelegate { boolean isVisible(); boolean equalsRemote(ICircleDelegate other); int hashCodeRemote(); void setClickable(boolean clickable); boolean isClickable(); }
play-services-api/src/main/java/com/google/android/gms/maps/model/CircleOptions.java +22 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,8 @@ public class CircleOptions extends AutoSafeParcelable { private float zIndex = 0; @SafeParceled(8) private boolean visible = true; @SafeParceled(9) private boolean clickable = false; /** * Creates circle options. Loading Loading @@ -144,6 +146,15 @@ public class CircleOptions extends AutoSafeParcelable { return visible; } /** * Gets the clickability setting for the circle. * * @return {@code true} if the circle is clickable; {@code false} if it is not. */ public boolean isClickable() { return clickable; } /** * Sets the radius in meters. * <p/> Loading Loading @@ -217,5 +228,16 @@ public class CircleOptions extends AutoSafeParcelable { return this; } /** * Specifies whether this circle is clickable. The default setting is {@code false}. * * @param clickable * @return this {@code CircleOptions} object with a new clickability setting. */ public CircleOptions clickable(boolean clickable) { this.clickable = clickable; return this; } public static Creator<CircleOptions> CREATOR = new AutoCreator<CircleOptions>(CircleOptions.class); }
play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/GoogleMap.kt +22 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) private var mapLongClickListener: IOnMapLongClickListener? = null private var markerClickListener: IOnMarkerClickListener? = null private var markerDragListener: IOnMarkerDragListener? = null private var circleClickListener: IOnCircleClickListener? = null var lineManager: LineManager? = null val pendingLines = mutableSetOf<Markup<Line, LineOptions>>() Loading @@ -103,6 +104,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) var fillManager: FillManager? = null val pendingFills = mutableSetOf<Markup<Fill, FillOptions>>() val circles = mutableMapOf<Long, CircleImpl>() var fillId = 0L var symbolManager: SymbolManager? = null Loading Loading @@ -454,6 +456,10 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) markerDragListener = listener } override fun setCircleClickListener(listener: IOnCircleClickListener?) { circleClickListener = listener } override fun setOnInfoWindowClickListener(listener: IOnInfoWindowClickListener?) { Log.d(TAG, "unimplemented Method: setOnInfoWindowClickListener") Loading Loading @@ -696,6 +702,21 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) } } }) fillManager.addClickListener { fill -> try { circles[fill.id]?.let { circle -> if (circle.isClickable) { circleClickListener?.let { it.onCircleClick(circle) return@addClickListener true } } } } catch (e: Exception) { Log.w(TAG, e) } false } pendingFills.forEach { it.update(fillManager) } pendingFills.clear() pendingLines.forEach { it.update(lineManager) } Loading Loading @@ -745,6 +766,7 @@ class GoogleMapImpl(private val context: Context, var options: GoogleMapOptions) fillManager?.onDestroy() fillManager = null circles.clear() symbolManager?.onDestroy() symbolManager = null Loading