diff options
author | Brad Leege <bleege@gmail.com> | 2016-07-13 17:37:30 -0700 |
---|---|---|
committer | Brad Leege <bleege@gmail.com> | 2016-07-13 18:32:14 -0700 |
commit | 5fb0e878b4eb1b2d9555860e86d720e4904de07e (patch) | |
tree | e38a125580dfaf396b73fc84d0961d232782b6f7 /platform | |
parent | 5300488883b276cafca42fd48694a50eb0c4b847 (diff) | |
download | qtlocation-mapboxgl-5fb0e878b4eb1b2d9555860e86d720e4904de07e.tar.gz |
[android] #5680 - Adding 1000 event cap to send telemetry data
Diffstat (limited to 'platform')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/telemetry/MapboxEventManager.java | 23 |
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); } /** |