Bug 1374758 - Add 'os' object to Sync Ping bundle with basic OS information r=nalexander draft
authorGrigory Kruglov <gkruglov@mozilla.com>
Wed, 21 Jun 2017 14:27:45 -0400
changeset 598496 b8b3ea6853ea8f70e1d737a1f8e4b9b1e2657cd6
parent 598495 2f21f06e2a3e3c0a51ecb23a3b35acb0b6a5eb51
child 600865 1818f8830795d093f1b419f2335c9481316b812c
push id65206
push userbmo:gkruglov@mozilla.com
push dateWed, 21 Jun 2017 18:28:26 +0000
reviewersnalexander
bugs1374758
milestone56.0a1
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
mobile/android/base/java/org/mozilla/gecko/telemetry/pingbuilders/TelemetrySyncPingBundleBuilder.java
--- 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")