Bug 1329138 - Part 3: Add telemetry probe while editing a bookmark. r?nechen
MozReview-Commit-ID: FeXO32ScjcT
--- 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;