Bug 1398834: Add telemetry for new browser menu pin site. r=liuche draft
authorMichael Comella <michael.l.comella@gmail.com>
Tue, 12 Sep 2017 17:03:23 -0700
changeset 663420 7095891695d70bae4d20d7f1d37742e3bf518113
parent 663419 44c9cd398c60e9fed9b2d25a8e761872e748fc92
child 731200 2f1ed20b1f7363dd96426b46d0f249a166f90570
push id79432
push usermichael.l.comella@gmail.com
push dateWed, 13 Sep 2017 00:03:43 +0000
reviewersliuche
bugs1398834
milestone57.0a1
Bug 1398834: Add telemetry for new browser menu pin site. r=liuche MozReview-Commit-ID: 4GYXLk5yhbt
mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -67,16 +67,17 @@ import android.view.animation.Interpolat
 import android.widget.Button;
 import android.widget.ListView;
 import android.widget.ViewFlipper;
 
 import org.mozilla.gecko.AppConstants.Versions;
 import org.mozilla.gecko.DynamicToolbar.VisibilityTransition;
 import org.mozilla.gecko.Tabs.TabEvents;
 import org.mozilla.gecko.activitystream.ActivityStream;
+import org.mozilla.gecko.activitystream.ActivityStreamTelemetry;
 import org.mozilla.gecko.adjust.AdjustBrowserAppDelegate;
 import org.mozilla.gecko.animation.PropertyAnimator;
 import org.mozilla.gecko.annotation.RobocopTarget;
 import org.mozilla.gecko.bookmarks.BookmarkEditFragment;
 import org.mozilla.gecko.bookmarks.BookmarkUtils;
 import org.mozilla.gecko.bookmarks.EditBookmarkTask;
 import org.mozilla.gecko.cleanup.FileCleanupController;
 import org.mozilla.gecko.dawn.DawnHelper;
@@ -1454,32 +1455,38 @@ public class BrowserApp extends GeckoApp
         }
 
         if (itemId == R.id.pin_to_top_sites) {
             final Tab selectedTab = Tabs.getInstance().getSelectedTab();
             if (selectedTab != null) {
                 ThreadUtils.postToBackgroundThread(new Runnable() {
                     @Override
                     public void run() {
+                        final ActivityStreamTelemetry.Extras.Builder telemetryExtraBuilder = ActivityStreamTelemetry.Extras.builder();
                         final BrowserDB db = BrowserDB.from(BrowserApp.this);
                         final ContentResolver cr = getContentResolver();
                         final String url = selectedTab.getURL();
 
                         final @StringRes int snackbarText;
                         if (!db.isPinnedForAS(cr, url)) {
                             db.pinSiteForAS(getContentResolver(), url, selectedTab.getTitle());
                             snackbarText = R.string.pinned_page_to_top_sites;
+                            telemetryExtraBuilder.set(ActivityStreamTelemetry.Contract.ITEM, ActivityStreamTelemetry.Contract.ITEM_PIN);
                         } else {
                             db.unpinSiteForAS(getContentResolver(), url);
                             snackbarText = R.string.unpinned_page_from_top_sites;
+                            telemetryExtraBuilder.set(ActivityStreamTelemetry.Contract.ITEM, ActivityStreamTelemetry.Contract.ITEM_UNPIN);
                         }
 
                         SnackbarBuilder.builder(BrowserApp.this)
                                 .message(snackbarText)
                                 .buildAndShow();
+
+                        Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.MENU, // via browser menu.
+                                telemetryExtraBuilder.build());
                     }
                 });
             }
             return true;
         }
 
         if (itemId == R.id.add_to_launcher) {
             final Tab tab = Tabs.getInstance().getSelectedTab();