| 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 4282fc14dc21f816de386f517ff373b7199106e2..d75c58d17ef57691268c2fb6506adb290d408c68 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.Tab;
|
| import org.chromium.chrome.browser.UrlConstants;
|
| @@ -30,6 +31,7 @@ import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController;
|
| 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;
|
|
|
| /**
|
| @@ -57,14 +59,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);
|
|
|
| @@ -112,6 +118,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());
|
|
|