Bug 1329138 - Part 3: Add telemetry probe while editing a bookmark. r?nechen draft
authorJing-wei Wu <topwu.tw@gmail.com>
Wed, 31 May 2017 14:03:01 +0800
changeset 586846 6cdf6451f40b265fe45c666c3e17768318fe49fe
parent 586845 02f5f939361d9fddc00081f8de6ab31ec78c89a4
child 631122 a94ddffc35b961f491edb84eb2c6916ab59ffa4b
push id61547
push userbmo:topwu.tw@gmail.com
push dateWed, 31 May 2017 06:21:46 +0000
reviewersnechen
bugs1329138
milestone55.0a1
Bug 1329138 - Part 3: Add telemetry probe while editing a bookmark. r?nechen MozReview-Commit-ID: FeXO32ScjcT
mobile/android/base/java/org/mozilla/gecko/bookmarks/BookmarkEditFragment.java
mobile/android/base/java/org/mozilla/gecko/bookmarks/EditBookmarkTask.java
--- a/mobile/android/base/java/org/mozilla/gecko/bookmarks/BookmarkEditFragment.java
+++ b/mobile/android/base/java/org/mozilla/gecko/bookmarks/BookmarkEditFragment.java
@@ -139,16 +139,17 @@ public class BookmarkEditFragment extend
                             bundle.putLong(Bookmarks._ID, bookmark.id);
                             bundle.putString(Bookmarks.TITLE, newTitle);
                             bundle.putString(Bookmarks.URL, newUrl);
                             bundle.putString(Bookmarks.KEYWORD, bookmark.keyword);
                             if (bookmark.parentId != bookmark.originalParentId) {
                                 bundle.putLong(Bookmarks.PARENT, bookmark.parentId);
                                 bundle.putLong(BrowserContract.PARAM_OLD_BOOKMARK_PARENT, bookmark.originalParentId);
                             }
+                            bundle.putInt(Bookmarks.TYPE, bookmark.type);
 
                             callbacks.onEditBookmark(bundle);
                         }
                         break;
                 }
 
                 dismiss();
                 return true;
--- a/mobile/android/base/java/org/mozilla/gecko/bookmarks/EditBookmarkTask.java
+++ b/mobile/android/base/java/org/mozilla/gecko/bookmarks/EditBookmarkTask.java
@@ -8,16 +8,18 @@ package org.mozilla.gecko.bookmarks;
 import android.app.Activity;
 import android.content.ContentResolver;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.design.widget.Snackbar;
 
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.SnackbarBuilder;
+import org.mozilla.gecko.Telemetry;
+import org.mozilla.gecko.TelemetryContract;
 import org.mozilla.gecko.db.BrowserContract;
 import org.mozilla.gecko.db.BrowserDB;
 import org.mozilla.gecko.util.ThreadUtils;
 import org.mozilla.gecko.util.UIAsyncTask;
 
 import java.lang.ref.WeakReference;
 
 public class EditBookmarkTask extends UIAsyncTask.WithoutParams<Void> {
@@ -36,25 +38,40 @@ public class EditBookmarkTask extends UI
     }
 
     @Override
     public Void doInBackground() {
         final long bookmarkId = bundle.getLong(BrowserContract.Bookmarks._ID);
         final String url = bundle.getString(BrowserContract.Bookmarks.URL);
         final String title = bundle.getString(BrowserContract.Bookmarks.TITLE);
         final String keyword = bundle.getString(BrowserContract.Bookmarks.KEYWORD);
+        final int type = bundle.getInt(BrowserContract.Bookmarks.TYPE);
 
+        boolean parentChanged = false;
         if (bundle.containsKey(BrowserContract.Bookmarks.PARENT) &&
             bundle.containsKey(BrowserContract.PARAM_OLD_BOOKMARK_PARENT)) {
             final long newParentId = bundle.getLong(BrowserContract.Bookmarks.PARENT);
             final long oldParentId = bundle.getLong(BrowserContract.PARAM_OLD_BOOKMARK_PARENT);
             db.updateBookmark(contentResolver, bookmarkId, url, title, keyword, newParentId, oldParentId);
+            parentChanged = true;
         } else {
             db.updateBookmark(contentResolver, bookmarkId, url, title, keyword);
         }
+
+        String extras;
+        if (type == BrowserContract.Bookmarks.TYPE_FOLDER) {
+            extras = "bookmark_folder";
+        } else {
+            extras = "bookmark";
+        }
+        if (parentChanged) {
+            extras += "_parent_changed";
+        }
+        Telemetry.sendUIEvent(TelemetryContract.Event.EDIT, TelemetryContract.Method.DIALOG, extras);
+
         return null;
     }
 
     @Override
     public void onPostExecute(Void result) {
         final Activity activity = activityWeakReference.get();
         if (activity == null || activity.isFinishing()) {
             return;