From f4a82bd367cc5a2134f37dec9979a7d653ef965c Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Sat, 4 Jun 2016 20:07:56 -0500 Subject: [android] #5186 - Starting rotateSessionId before Telemetry Starts and ensuring that mapboxSessionId is initialized --- .../java/com/mapbox/mapboxsdk/telemetry/MapboxEventManager.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'platform') 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 bf38c3233f..907e34f878 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 @@ -128,6 +128,9 @@ public class MapboxEventManager { Log.w(TAG, "Error getting Encryption Algorithm: " + e); } + // Create Initial Session Id + rotateSessionId(); + SharedPreferences prefs = context.getSharedPreferences(MapboxConstants.MAPBOX_SHARED_PREFERENCES_FILE, Context.MODE_PRIVATE); // Determine if Telemetry Should Be Enabled @@ -147,9 +150,6 @@ public class MapboxEventManager { editor.commit(); } - // Create Initial Session Id - rotateSessionId(); - // Get DisplayMetrics Setup displayMetrics = new DisplayMetrics(); ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(displayMetrics); @@ -444,7 +444,7 @@ public class MapboxEventManager { */ private void rotateSessionId() { long now = System.currentTimeMillis(); - if (now - mapboxSessionIdLastSet > (SESSION_ID_ROTATION_HOURS * hourInMillis)) { + if ((TextUtils.isEmpty(mapboxSessionId)) || (now - mapboxSessionIdLastSet > (SESSION_ID_ROTATION_HOURS * hourInMillis))) { mapboxSessionId = UUID.randomUUID().toString(); mapboxSessionIdLastSet = System.currentTimeMillis(); } -- cgit v1.2.1