Bug 1374758 - Add 'os' object to Sync Ping bundle with basic OS information r=nalexander
We'll use this both to segment pings by different platforms, and segment our dashboards by
different OS versions.
MozReview-Commit-ID: 9RC2jm9Ql6H
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetrySyncPingBundleBuilder.java
+++ b/mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetrySyncPingBundleBuilder.java
@@ -6,16 +6,17 @@
package org.mozilla.gecko.telemetry.pingbuilders;
import android.os.Build;
import android.support.annotation.NonNull;
import org.json.simple.JSONArray;
import org.mozilla.gecko.AppConstants;
+import org.mozilla.gecko.Locales;
import org.mozilla.gecko.sync.ExtendedJSONObject;
import org.mozilla.gecko.telemetry.TelemetryOutgoingPing;
import org.mozilla.gecko.telemetry.TelemetryPing;
import org.mozilla.gecko.telemetry.stores.TelemetryPingStore;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -82,17 +83,24 @@ public class TelemetrySyncPingBundleBuil
application.put("platformVersion", AppConstants.MOZ_APP_VERSION);
application.put("name", AppConstants.MOZ_APP_BASENAME);
application.put("version", AppConstants.MOZ_APP_VERSION);
application.put("displayVersion", AppConstants.MOZ_APP_VERSION);
application.put("vendor", AppConstants.MOZ_APP_VENDOR);
application.put("xpcomAbi", AppConstants.MOZ_APP_ABI);
application.put("channel", AppConstants.MOZ_UPDATE_CHANNEL);
+ // Limited environment object, to help identify platforms easier. See Bug 1374758.
+ final ExtendedJSONObject os = new ExtendedJSONObject();
+ os.put("name", "Android");
+ os.put("version", Integer.toString(Build.VERSION.SDK_INT));
+ os.put("locale", Locales.getLanguageTag(Locale.getDefault()));
+
payload.put("application", application);
+ payload.put("os", os);
pingData.put("version", PING_SYNC_DATA_FORMAT_VERSION);
payload.put("payload", pingData);
return super.build();
}
@SuppressWarnings("unchecked")