summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2019-01-28 15:27:10 +0100
committerŁukasz Paczos <lukasz.paczos@mapbox.com>2019-01-30 16:13:23 +0100
commit953e6dca5b2135f2b56d91cd9564e62dcd938632 (patch)
tree7dd60788b22605bcfec22e295386e6ea3d3ca362
parent9830c8309e120643f46dec367a1813fba76f6171 (diff)
downloadqtlocation-mapboxgl-953e6dca5b2135f2b56d91cd9564e62dcd938632.tar.gz
[android] expose OnRenderModeChangedListener
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java23
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnRenderModeChangedListener.java2
2 files changed, 24 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
index e8e1f875b0..3f0ddd6e98 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
@@ -164,6 +164,8 @@ public final class LocationComponent {
= new CopyOnWriteArrayList<>();
private final CopyOnWriteArrayList<OnCameraTrackingChangedListener> onCameraTrackingChangedListeners
= new CopyOnWriteArrayList<>();
+ private final CopyOnWriteArrayList<OnRenderModeChangedListener> onRenderModeChangedListeners
+ = new CopyOnWriteArrayList<>();
// Workaround for too frequent updates, see https://github.com/mapbox/mapbox-gl-native/issues/13587
private long fastestInterval;
@@ -864,6 +866,24 @@ public final class LocationComponent {
}
/**
+ * Adds a listener that gets invoked when render mode changes.
+ *
+ * @param listener Listener that gets invoked when render mode changes.
+ */
+ public void addOnRenderModeChangedListener(@NonNull OnRenderModeChangedListener listener) {
+ onRenderModeChangedListeners.add(listener);
+ }
+
+ /**
+ * Removes a listener that gets invoked when render mode changes.
+ *
+ * @param listener Listener that gets invoked when render mode changes.
+ */
+ public void removeRenderModeChangedListener(@NonNull OnRenderModeChangedListener listener) {
+ onRenderModeChangedListeners.remove(listener);
+ }
+
+ /**
* Adds the passed listener that gets invoked when user updates have stopped long enough for the last update
* to be considered stale.
* <p>
@@ -1323,6 +1343,9 @@ public final class LocationComponent {
@Override
public void onRenderModeChanged(int currentMode) {
updateAnimatorListenerHolders();
+ for (OnRenderModeChangedListener listener : onRenderModeChangedListeners) {
+ listener.onRenderModeChanged(currentMode);
+ }
}
};
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnRenderModeChangedListener.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnRenderModeChangedListener.java
index 1ac016c8f3..12ac220c52 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnRenderModeChangedListener.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/OnRenderModeChangedListener.java
@@ -5,7 +5,7 @@ import com.mapbox.mapboxsdk.location.modes.RenderMode;
/**
* Listener that gets invoked when layer render mode changes.
*/
-interface OnRenderModeChangedListener {
+public interface OnRenderModeChangedListener {
/**
* Invoked on every {@link RenderMode} change.