summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapChangeReceiver.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapChangeReceiver.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapChangeReceiver.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapChangeReceiver.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapChangeReceiver.java
index 3eaa381239..ac83e37a1f 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapChangeReceiver.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapChangeReceiver.java
@@ -27,6 +27,8 @@ class MapChangeReceiver implements NativeMapView.StateCallback {
= new CopyOnWriteArrayList<>();
private final List<MapView.OnDidFinishRenderingMapListener> onDidFinishRenderingMapListenerList
= new CopyOnWriteArrayList<>();
+ private final List<MapView.OnDidEnterIdleListener> onDidEnterIdleListenerList
+ = new CopyOnWriteArrayList<>();
private final List<MapView.OnDidFinishLoadingStyleListener> onDidFinishLoadingStyleListenerList
= new CopyOnWriteArrayList<>();
private final List<MapView.OnSourceChangedListener> onSourceChangedListenerList = new CopyOnWriteArrayList<>();
@@ -172,6 +174,20 @@ class MapChangeReceiver implements NativeMapView.StateCallback {
}
@Override
+ public void onDidEnterIdle() {
+ try {
+ if (!onDidEnterIdleListenerList.isEmpty()) {
+ for (MapView.OnDidEnterIdleListener listener : onDidEnterIdleListenerList) {
+ listener.onDidEnterIdle();
+ }
+ }
+ } catch (Throwable err) {
+ Logger.e(TAG, "Exception in onDidEnterIdle", err);
+ throw err;
+ }
+ }
+
+ @Override
public void onDidFinishLoadingStyle() {
try {
if (!onDidFinishLoadingStyleListenerList.isEmpty()) {
@@ -279,6 +295,14 @@ class MapChangeReceiver implements NativeMapView.StateCallback {
onDidFinishRenderingMapListenerList.remove(listener);
}
+ void addOnDidEnterIdleListener(MapView.OnDidEnterIdleListener listener) {
+ onDidEnterIdleListenerList.add(listener);
+ }
+
+ void removeOnDidEnterIdleListener(MapView.OnDidEnterIdleListener listener) {
+ onDidEnterIdleListenerList.remove(listener);
+ }
+
void addOnDidFinishLoadingStyleListener(MapView.OnDidFinishLoadingStyleListener listener) {
onDidFinishLoadingStyleListenerList.add(listener);
}
@@ -306,6 +330,7 @@ class MapChangeReceiver implements NativeMapView.StateCallback {
onDidFinishRenderingFrameList.clear();
onWillStartRenderingMapListenerList.clear();
onDidFinishRenderingMapListenerList.clear();
+ onDidEnterIdleListenerList.clear();
onDidFinishLoadingStyleListenerList.clear();
onSourceChangedListenerList.clear();
}