Bug 1398834: Add telemetry for new browser menu pin site. r=liuche
MozReview-Commit-ID: 4GYXLk5yhbt
--- 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();