diff options
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 |
commit | f2ddf30ead591ce08c77706a03c8fe69ddf4ee64 (patch) | |
tree | 728026614037afc38ebe986c58be75c3317d6467 | |
parent | add96bebe14017da84b08a5a7f83be6f2fbd7e5c (diff) | |
download | qtlocation-mapboxgl-f2ddf30ead591ce08c77706a03c8fe69ddf4ee64.tar.gz |
[android] expose OnRenderModeChangedListener
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java | 23 |
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); + } } }; |