summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox
diff options
context:
space:
mode:
authorBrad Leege <bleege@gmail.com>2016-02-07 15:05:23 -0600
committerBrad Leege <bleege@gmail.com>2016-02-10 19:05:22 -0800
commitdd2a218842ab6986051e7b99e99f60448106360e (patch)
tree2cb456461f6078394a45c718554190ee37c18c12 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox
parentf3009277dfd8f9c821aa90104e141764406f6cb4 (diff)
downloadqtlocation-mapboxgl-dd2a218842ab6986051e7b99e99f60448106360e.tar.gz
[android] #2421 - Establishing an app install persistent "vendor id" persisted privately to app
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/telemetry/MapboxEventManager.java19
2 files changed, 21 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
index 7c5fdf293a..9ff39000e6 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
@@ -101,4 +101,7 @@ public class MapboxConstants {
public static final String STATE_ATTRIBUTION_ENABLED = "atrrEnabled";
public static final String TAG = "MapboxMap";
+
+ public static final String MAPBOX_SHARED_PREFERENCES_FILE = "MapboxSharedPreferences";
+ public static final String MAPBOX_SHARED_PREFERENCE_KEY_VENDORID = "mapboxVendorId";
}
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 38190b03ea..e953dd57c3 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
@@ -4,6 +4,7 @@ import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -62,11 +63,27 @@ public class MapboxEventManager {
private DisplayMetrics displayMetrics = null;
+ private String mapboxVendorId = null;
+
private MapboxEventManager(@NonNull Context context) {
super();
this.accessToken = ApiAccess.getToken(context);
this.context = context;
+ // Load / Create Vendor Id
+ SharedPreferences prefs = context.getSharedPreferences(MapboxConstants.MAPBOX_SHARED_PREFERENCES_FILE, Context.MODE_PRIVATE);
+ if (prefs.contains(MapboxConstants.MAPBOX_SHARED_PREFERENCE_KEY_VENDORID)) {
+ mapboxVendorId = prefs.getString(MapboxConstants.MAPBOX_SHARED_PREFERENCE_KEY_VENDORID, "Default Value");
+ Log.i(TAG, "Found Vendor Id = " + mapboxVendorId);
+ } else {
+ String vendorId = "Mapbox-" + UUID.randomUUID().toString();
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putString(MapboxConstants.MAPBOX_SHARED_PREFERENCE_KEY_VENDORID, vendorId);
+ editor.apply();
+ editor.commit();
+ Log.i(TAG, "Set New Vendor Id = " + vendorId);
+ }
+
// Get DisplayMetrics Setup
displayMetrics = new DisplayMetrics();
((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(displayMetrics);
@@ -276,7 +293,7 @@ public class MapboxEventManager {
jsonObject.put(MapboxEvent.ATTRIBUTE_VERSION, MapboxEvent.VERSION_NUMBER);
jsonObject.put(MapboxEvent.ATTRIBUTE_CREATED, evt.get("created"));
jsonObject.put(MapboxEvent.ATTRIBUTE_INSTANCE, SESSION_UUID);
- jsonObject.put(MapboxEvent.ATTRIBUTE_VENDOR_ID, "");
+ jsonObject.put(MapboxEvent.ATTRIBUTE_VENDOR_ID, mapboxVendorId);
jsonObject.put(MapboxEvent.ATTRIBUTE_APP_BUNDLE_ID, context.getPackageName());
jsonObject.put(MapboxEvent.ATTRIBUTE_MODEL, Build.MODEL);
jsonObject.put(MapboxEvent.ATTRIBUTE_OPERATING_SYSTEM, Build.VERSION.RELEASE);