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()); |