Bug 1243585 - Create telemtry/core/ pkg and move files accordingly. r=sebastian draft
authorMichael Comella <michael.l.comella@gmail.com>
Thu, 28 Apr 2016 14:24:26 -0700
changeset 357482 fffde0e08abb1e12c33effc93f336b29c8b323a8
parent 357423 4dc48f3688f053e2fa74bf6c7beb4dff274ffc1f
child 357483 8d7c612e5740b87aa3339951381efff6e448e799
push id16806
push usermichael.l.comella@gmail.com
push dateFri, 29 Apr 2016 00:52:31 +0000
reviewerssebastian
bugs1243585
milestone49.0a1
Bug 1243585 - Create telemtry/core/ pkg and move files accordingly. r=sebastian MozReview-Commit-ID: 8cqtwzPbvHp
mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryPing.java
mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryPingBuilder.java
mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryUploadService.java
mobile/android/base/java/org/mozilla/gecko/telemetry/core/TelemetryCorePingBuilder.java
mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryCorePingBuilder.java
mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryPing.java
mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryPingBuilder.java
mobile/android/base/moz.build
mobile/android/tests/background/junit4/src/org/mozilla/gecko/telemetry/TestTelemetryPingBuilder.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/telemetry/pings/TestTelemetryPingBuilder.java
rename from mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryPing.java
rename to mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryPing.java
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryPing.java
+++ b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryPing.java
@@ -1,14 +1,14 @@
 /* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-package org.mozilla.gecko.telemetry.pings;
+package org.mozilla.gecko.telemetry;
 
 import org.mozilla.gecko.sync.ExtendedJSONObject;
 
 /**
  * Container for telemetry data and the data necessary to upload it.
  *
  * If you want to create one of these, consider extending
  * {@link TelemetryPingBuilder} or one of its descendants.
rename from mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryPingBuilder.java
rename to mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryPingBuilder.java
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryPingBuilder.java
+++ b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryPingBuilder.java
@@ -1,52 +1,52 @@
 /*
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-package org.mozilla.gecko.telemetry.pings;
+package org.mozilla.gecko.telemetry;
 
 import org.mozilla.gecko.AppConstants;
 import org.mozilla.gecko.sync.ExtendedJSONObject;
 
 import java.util.Set;
 import java.util.UUID;
 
 /**
  * A generic Builder for {@link TelemetryPing} instances. Each overriding class is
  * expected to create a specific type of ping (e.g. "core").
  *
  * This base class handles the common ping operations under the hood:
  *   * Validating mandatory fields
  *   * Forming the server url
  */
-abstract class TelemetryPingBuilder {
+public abstract class TelemetryPingBuilder {
     // In the server url, the initial path directly after the "scheme://host:port/"
     private static final String SERVER_INITIAL_PATH = "submit/telemetry";
 
     private final String serverUrl;
     protected final ExtendedJSONObject payload;
 
     public TelemetryPingBuilder(final String serverURLSchemeHostPort) {
         serverUrl = getTelemetryServerURL(getDocType(), serverURLSchemeHostPort);
         payload = new ExtendedJSONObject();
     }
 
     /**
      * @return the name of the ping (e.g. "core")
      */
-    abstract String getDocType();
+    public abstract String getDocType();
 
     /**
      * @return the fields that are mandatory for the resultant ping to be uploaded to
      *         the server. These will be validated before the ping is built.
      */
-    abstract String[] getMandatoryFields();
+    public abstract String[] getMandatoryFields();
 
     public TelemetryPing build() {
         validatePayload();
         return new TelemetryPing(serverUrl, payload);
     }
 
     private void validatePayload() {
         final Set<String> keySet = payload.keySet();
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryUploadService.java
+++ b/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryUploadService.java
@@ -17,18 +17,17 @@ import ch.boye.httpclientandroidlib.clie
 import org.mozilla.gecko.GeckoProfile;
 import org.mozilla.gecko.GeckoSharedPrefs;
 import org.mozilla.gecko.background.BackgroundService;
 import org.mozilla.gecko.distribution.DistributionStoreCallback;
 import org.mozilla.gecko.preferences.GeckoPreferences;
 import org.mozilla.gecko.sync.net.BaseResource;
 import org.mozilla.gecko.sync.net.BaseResourceDelegate;
 import org.mozilla.gecko.sync.net.Resource;
-import org.mozilla.gecko.telemetry.pings.TelemetryCorePingBuilder;
-import org.mozilla.gecko.telemetry.pings.TelemetryPing;
+import org.mozilla.gecko.telemetry.core.TelemetryCorePingBuilder;
 import org.mozilla.gecko.util.StringUtils;
 
 import java.io.IOException;
 import java.net.URISyntaxException;
 import java.security.GeneralSecurityException;
 
 /**
  * The service that handles uploading telemetry payloads to the server.
rename from mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryCorePingBuilder.java
rename to mobile/android/base/java/org/mozilla/gecko/telemetry/core/TelemetryCorePingBuilder.java
--- a/mobile/android/base/java/org/mozilla/gecko/telemetry/pings/TelemetryCorePingBuilder.java
+++ b/mobile/android/base/java/org/mozilla/gecko/telemetry/core/TelemetryCorePingBuilder.java
@@ -1,23 +1,25 @@
 /*
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-package org.mozilla.gecko.telemetry.pings;
+package org.mozilla.gecko.telemetry.core;
 
 import android.content.Context;
 import android.os.Build;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 
 import org.mozilla.gecko.AppConstants;
 import org.mozilla.gecko.Locales;
+import org.mozilla.gecko.telemetry.TelemetryPing;
+import org.mozilla.gecko.telemetry.TelemetryPingBuilder;
 import org.mozilla.gecko.util.Experiments;
 import org.mozilla.gecko.util.StringUtils;
 
 import java.util.Locale;
 
 /**
  * Builds a {@link TelemetryPing} representing a core ping.
  *
@@ -61,22 +63,22 @@ public class TelemetryCorePingBuilder ex
         payload.put(ARCHITECTURE, AppConstants.ANDROID_CPU_ARCH);
         payload.put(DEVICE, deviceDescriptor);
         payload.put(LOCALE, Locales.getLanguageTag(Locale.getDefault()));
         payload.put(OS_VERSION, Integer.toString(Build.VERSION.SDK_INT)); // A String for cross-platform reasons.
         payload.putArray(EXPERIMENTS, Experiments.getActiveExperiments(context));
     }
 
     @Override
-    String getDocType() {
+    public String getDocType() {
         return NAME;
     }
 
     @Override
-    String[] getMandatoryFields() {
+    public String[] getMandatoryFields() {
         return new String[] {
                 ARCHITECTURE,
                 CLIENT_ID,
                 DEFAULT_SEARCH_ENGINE,
                 DEVICE,
                 LOCALE,
                 OS_ATTR,
                 OS_VERSION,
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -566,20 +566,20 @@ gbjar.sources += ['java/org/mozilla/geck
     'tabs/TabPanelBackButton.java',
     'tabs/TabsGridLayout.java',
     'tabs/TabsLayoutAdapter.java',
     'tabs/TabsLayoutItemView.java',
     'tabs/TabsListLayout.java',
     'tabs/TabsPanel.java',
     'tabs/TabsPanelThumbnailView.java',
     'Telemetry.java',
-    'telemetry/pings/TelemetryCorePingBuilder.java',
-    'telemetry/pings/TelemetryPing.java',
-    'telemetry/pings/TelemetryPingBuilder.java',
+    'telemetry/core/TelemetryCorePingBuilder.java',
     'telemetry/TelemetryConstants.java',
+    'telemetry/TelemetryPing.java',
+    'telemetry/TelemetryPingBuilder.java',
     'telemetry/TelemetryUploadService.java',
     'TelemetryContract.java',
     'text/FloatingActionModeCallback.java',
     'text/FloatingToolbarTextSelection.java',
     'text/TextAction.java',
     'text/TextSelection.java',
     'TextSelectionHandle.java',
     'ThumbnailHelper.java',
rename from mobile/android/tests/background/junit4/src/org/mozilla/gecko/telemetry/pings/TestTelemetryPingBuilder.java
rename to mobile/android/tests/background/junit4/src/org/mozilla/gecko/telemetry/TestTelemetryPingBuilder.java
--- a/mobile/android/tests/background/junit4/src/org/mozilla/gecko/telemetry/pings/TestTelemetryPingBuilder.java
+++ b/mobile/android/tests/background/junit4/src/org/mozilla/gecko/telemetry/TestTelemetryPingBuilder.java
@@ -1,15 +1,15 @@
 /*
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, you can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-package org.mozilla.gecko.telemetry.pings;
+package org.mozilla.gecko.telemetry;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mozilla.gecko.background.testhelpers.TestRunner;
 
 import static org.junit.Assert.*;
 
 /**
@@ -40,22 +40,22 @@ public class TestTelemetryPingBuilder {
     }
 
     private static class NoMandatoryFieldsBuilder extends TelemetryPingBuilder {
         public NoMandatoryFieldsBuilder() {
             super("");
         }
 
         @Override
-        String getDocType() {
+        public String getDocType() {
             return "";
         }
 
         @Override
-        String[] getMandatoryFields() {
+        public String[] getMandatoryFields() {
             return new String[0];
         }
 
         public NoMandatoryFieldsBuilder setNonMandatoryField() {
             payload.put("non-mandatory", true);
             return this;
         }
     }
@@ -63,22 +63,22 @@ public class TestTelemetryPingBuilder {
     private static class MandatoryFieldsBuilder extends TelemetryPingBuilder {
         private static final String MANDATORY_FIELD = "mandatory-field";
 
         public MandatoryFieldsBuilder() {
             super("");
         }
 
         @Override
-        String getDocType() {
+        public String getDocType() {
             return "";
         }
 
         @Override
-        String[] getMandatoryFields() {
+        public String[] getMandatoryFields() {
             return new String[] {
                     MANDATORY_FIELD,
             };
         }
 
         public MandatoryFieldsBuilder setNonMandatoryField() {
             payload.put("non-mandatory", true);
             return this;