| Index: chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUtils.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUtils.java
|
| index ef50beea807415e15f4bae329ace7c92291f8a5b..c743a0241becf699cbf84c1f34578da0189e472c 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUtils.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUtils.java
|
| @@ -17,6 +17,7 @@ import org.chromium.base.ApiCompatibilityUtils;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.BookmarksBridge;
|
| import org.chromium.chrome.browser.BookmarksBridge.BookmarkItem;
|
| +import org.chromium.chrome.browser.ChromeBrowserProviderClient;
|
| import org.chromium.chrome.browser.IntentHandler;
|
| import org.chromium.chrome.browser.UrlConstants;
|
| import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
| @@ -29,6 +30,7 @@ import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.chrome.browser.util.FeatureUtilities;
|
| import org.chromium.chrome.browser.util.MathUtils;
|
| import org.chromium.components.bookmarks.BookmarkId;
|
| +import org.chromium.components.bookmarks.BookmarkType;
|
| import org.chromium.ui.base.DeviceFormFactor;
|
|
|
| /**
|
| @@ -56,14 +58,18 @@ public class EnhancedBookmarkUtils {
|
| }
|
|
|
| /**
|
| - * Static method used for activities to show snackbar that notifies user that the bookmark has
|
| - * been added successfully. Note this method also starts fetching salient image in background.
|
| + * If the tab has already been bookmarked, start {@link EnhancedBookmarkEditActivity} for the
|
| + * bookmark. If not, add the bookmark to bookmarkmodel, and show a snackbar notifying the user.
|
| */
|
| - public static void addBookmarkAndShowSnackbar(EnhancedBookmarksModel bookmarkModel, Tab tab,
|
| - final SnackbarManager snackbarManager, final Activity activity) {
|
| - // TODO(ianwen): remove activity from argument list.
|
| - final BookmarkId enhancedId = bookmarkModel.addBookmark(bookmarkModel.getDefaultFolder(),
|
| - 0, tab.getTitle(), tab.getUrl());
|
| + public static void addOrEditBookmark(long idToAdd, EnhancedBookmarksModel bookmarkModel,
|
| + Tab tab, final SnackbarManager snackbarManager, final Activity activity) {
|
| + if (idToAdd != ChromeBrowserProviderClient.INVALID_BOOKMARK_ID) {
|
| + startEditActivity(activity, new BookmarkId(idToAdd, BookmarkType.NORMAL));
|
| + return;
|
| + }
|
| +
|
| + final BookmarkId enhancedId = bookmarkModel
|
| + .addBookmark(bookmarkModel.getDefaultFolder(), 0, tab.getTitle(), tab.getUrl());
|
|
|
| Pair<EnhancedBookmarksModel, BookmarkId> pair = Pair.create(bookmarkModel, enhancedId);
|
|
|
| @@ -111,6 +117,9 @@ public class EnhancedBookmarkUtils {
|
| return true;
|
| }
|
|
|
| + /**
|
| + * Starts an {@link EnhancedBookmarkEditActivity} for the given {@link BookmarkId}.
|
| + */
|
| public static void startEditActivity(Context context, BookmarkId bookmarkId) {
|
| Intent intent = new Intent(context, EnhancedBookmarkEditActivity.class);
|
| intent.putExtra(EnhancedBookmarkEditActivity.INTENT_BOOKMARK_ID, bookmarkId.toString());
|
|
|