summaryrefslogtreecommitdiff
path: root/platform/android
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2016-05-04 10:40:14 +0200
committerTobrun <tobrun@mapbox.com>2016-05-20 12:00:02 +0200
commitc53533270bd619f853cd4e1cae8a8730f1fe9f7d (patch)
tree4c886834673a58a52d0fee7b27a97c3e3766d298 /platform/android
parent16a2765adcc726feaffbc2e6f7e805d9e5d6cf58 (diff)
downloadqtlocation-mapboxgl-c53533270bd619f853cd4e1cae8a8730f1fe9f7d.tar.gz
[android] #3276 - introduced rate limited discovery for view markers
Diffstat (limited to 'platform/android')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index 57a780a936..5807bc53ce 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -25,6 +25,7 @@ import android.net.NetworkInfo;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.os.SystemClock;
import android.support.annotation.CallSuper;
import android.support.annotation.FloatRange;
import android.support.annotation.IntDef;
@@ -115,6 +116,8 @@ import java.util.concurrent.CopyOnWriteArrayList;
public class MapView extends FrameLayout {
private MapboxMap mMapboxMap;
+ private boolean mInitialLoad;
+ private boolean mDestroyed;
private List<Icon> mIcons;
private int mAverageIconHeight;
@@ -149,12 +152,11 @@ public class MapView extends FrameLayout {
private int mContentPaddingRight;
private int mContentPaddingBottom;
- private List<OnMapReadyCallback> mOnMapReadyCallbackList;
- private boolean mInitialLoad;
- private boolean mDestroyed;
-
private StyleInitializer mStyleInitializer;
+ private List<OnMapReadyCallback> mOnMapReadyCallbackList;
+ private long nViewMarkerBoundsUpdateTime;
+
@UiThread
public MapView(@NonNull Context context) {
super(context);
@@ -450,7 +452,16 @@ public class MapView extends FrameLayout {
}
}
} else if (change == REGION_IS_CHANGING || change == REGION_DID_CHANGE) {
- new MarkerInBoundsTask().execute();
+
+ long currentTime = SystemClock.elapsedRealtime();
+
+ if (currentTime < nViewMarkerBoundsUpdateTime) {
+ return;
+ }
+
+ nViewMarkerBoundsUpdateTime = currentTime + 300;
+
+ new MarkerInBoundsTask().execute();
}
}
});