diff options
author | Brad Leege <bleege@gmail.com> | 2016-02-07 15:05:23 -0600 |
---|---|---|
committer | Brad Leege <bleege@gmail.com> | 2016-02-10 19:05:22 -0800 |
commit | dd2a218842ab6986051e7b99e99f60448106360e (patch) | |
tree | 2cb456461f6078394a45c718554190ee37c18c12 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox | |
parent | f3009277dfd8f9c821aa90104e141764406f6cb4 (diff) | |
download | qtlocation-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')
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); |