summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2019-01-28 15:27:10 +0100
committerŁukasz Paczos <lukas.paczos@gmail.com>2019-01-29 15:11:01 +0100
commitf2ddf30ead591ce08c77706a03c8fe69ddf4ee64 (patch)
tree728026614037afc38ebe986c58be75c3317d6467
parentadd96bebe14017da84b08a5a7f83be6f2fbd7e5c (diff)
downloadqtlocation-mapboxgl-f2ddf30ead591ce08c77706a03c8fe69ddf4ee64.tar.gz
[android] expose OnRenderModeChangedListener
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java23
1 files changed, 23 insertions, 0 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);
+ }
}
};