summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Leege <bleege@gmail.com>2016-07-13 17:37:30 -0700
committerBrad Leege <bleege@gmail.com>2016-07-13 18:32:14 -0700
commit5fb0e878b4eb1b2d9555860e86d720e4904de07e (patch)
treee38a125580dfaf396b73fc84d0961d232782b6f7
parent5300488883b276cafca42fd48694a50eb0c4b847 (diff)
downloadqtlocation-mapboxgl-5fb0e878b4eb1b2d9555860e86d720e4904de07e.tar.gz
[android] #5680 - Adding 1000 event cap to send telemetry data
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/telemetry/MapboxEventManager.java23
1 files changed, 20 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/telemetry/MapboxEventManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/telemetry/MapboxEventManager.java
index 6dc56cc206..d9ce74085d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/telemetry/MapboxEventManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/telemetry/MapboxEventManager.java
@@ -88,6 +88,8 @@ public class MapboxEventManager {
private static long flushDelayInMillis = 1000 * 60 * 3; // 3 Minutes
private static final int SESSION_ID_ROTATION_HOURS = 24;
+ private static final int FLUSH_EVENTS_CAP = 1000;
+
private static MessageDigest messageDigest = null;
private static final double locationEventAccuracy = 10000000;
@@ -311,6 +313,21 @@ public class MapboxEventManager {
}
/**
+ * Centralized method for adding populated event to the queue allowing for cap size checking
+ * @param event Event to add to the Events Queue
+ */
+ private void putEventOnQueue(@NonNull Hashtable<String, Object> event) {
+ if (event == null) {
+ return;
+ }
+ events.add(event);
+ if (events.size() == FLUSH_EVENTS_CAP) {
+ Log.d(TAG, "eventsSize == flushCap so send data.");
+ flushEventsQueueImmediately();
+ }
+ }
+
+ /**
* Adds a Location Event to the system for processing
* @param location Location event
*/
@@ -337,7 +354,7 @@ public class MapboxEventManager {
event.put(MapboxEvent.ATTRIBUTE_OPERATING_SYSTEM, operatingSystem);
event.put(MapboxEvent.ATTRIBUTE_APPLICATION_STATE, getApplicationState());
- events.add(event);
+ putEventOnQueue(event);
rotateSessionId();
}
@@ -376,7 +393,7 @@ public class MapboxEventManager {
eventWithAttributes.put(MapboxEvent.ATTRIBUTE_WIFI, getConnectedToWifi());
// Put Map Load on events before Turnstile clears it
- events.add(eventWithAttributes);
+ putEventOnQueue(eventWithAttributes);
// Turnstile
pushTurnstileEvent();
@@ -403,7 +420,7 @@ public class MapboxEventManager {
return;
}
- events.add(eventWithAttributes);
+ putEventOnQueue(eventWithAttributes);
}
/**