[android] #2421 - Establishing an app install persistent "vendor id" persisted privately to app

This commit is contained in:
Brad Leege
2016-02-07 15:05:23 -06:00
parent f3009277df
commit dd2a218842
2 changed files with 21 additions and 1 deletions

View File

@@ -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";
}

View File

@@ -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);