Chromium Code Reviews| 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 c743a0241becf699cbf84c1f34578da0189e472c..25afcc3c75367719230adae91d3d530c9ae96ff3 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 |
| @@ -21,6 +21,7 @@ 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; |
| +import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarksModel.AddBookmarkCallback; |
| import org.chromium.chrome.browser.favicon.FaviconHelper; |
| import org.chromium.chrome.browser.profiles.Profile; |
| import org.chromium.chrome.browser.snackbar.Snackbar; |
| @@ -61,44 +62,54 @@ public class EnhancedBookmarkUtils { |
| * 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 addOrEditBookmark(long idToAdd, EnhancedBookmarksModel bookmarkModel, |
| + public static void addOrEditBookmark(long idToAdd, final 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); |
| - |
| - SnackbarController snackbarController = new SnackbarController() { |
| - @Override |
| - public void onDismissForEachType(boolean isTimeout) {} |
| - |
| + AddBookmarkCallback callback = new AddBookmarkCallback() { |
| @Override |
| - public void onDismissNoAction(Object actionData) { |
| - // This method will be called only if the snackbar is dismissed by timeout. |
| - @SuppressWarnings("unchecked") |
| - Pair<EnhancedBookmarksModel, BookmarkId> pair = (Pair< |
| - EnhancedBookmarksModel, BookmarkId>) actionData; |
| - pair.first.destroy(); |
| - } |
| - |
| - @Override |
| - public void onAction(Object actionData) { |
| - @SuppressWarnings("unchecked") |
| - Pair<EnhancedBookmarksModel, BookmarkId> pair = (Pair< |
| - EnhancedBookmarksModel, BookmarkId>) actionData; |
| - // Show edit activity with the name of parent folder highlighted. |
| - startEditActivity(activity, enhancedId); |
| - pair.first.destroy(); |
| + public void onBookmarkAdded(final BookmarkId enhancedId) { |
| + Pair<EnhancedBookmarksModel, BookmarkId> pair = |
| + Pair.create(bookmarkModel, enhancedId); |
| + |
| + SnackbarController snackbarController = new SnackbarController() { |
| + @Override |
| + public void onDismissForEachType(boolean isTimeout) {} |
| + |
| + @Override |
| + public void onDismissNoAction(Object actionData) { |
| + // This method will be called only if the snackbar is dismissed by timeout. |
| + @SuppressWarnings("unchecked") |
| + Pair<EnhancedBookmarksModel, BookmarkId> pair = (Pair< |
| + EnhancedBookmarksModel, BookmarkId>) actionData; |
| + pair.first.destroy(); |
| + } |
| + |
| + @Override |
| + public void onAction(Object actionData) { |
| + @SuppressWarnings("unchecked") |
| + Pair<EnhancedBookmarksModel, BookmarkId> pair = (Pair< |
| + EnhancedBookmarksModel, BookmarkId>) actionData; |
| + // Show edit activity with the name of parent folder highlighted. |
| + startEditActivity(activity, enhancedId); |
| + pair.first.destroy(); |
| + } |
| + }; |
| + |
| + int messageId = bookmarkModel.getOfflinePageBridge() == null |
| + ? R.string.enhanced_bookmark_page_saved |
| + : R.string.enhanced_bookmark_page_saved_offline_pages; |
| + snackbarManager.showSnackbar(Snackbar.make( |
| + activity.getString(messageId), snackbarController) |
| + .setAction(activity.getString(R.string.enhanced_bookmark_item_edit), pair)); |
| } |
| }; |
| - snackbarManager.showSnackbar(Snackbar.make( |
| - activity.getString(R.string.enhanced_bookmark_page_saved), snackbarController) |
| - .setAction(activity.getString(R.string.enhanced_bookmark_item_edit), pair)); |
| + |
| + bookmarkModel.addBookmarkAsync(bookmarkModel.getDefaultFolder(), 0, tab.getTitle(), |
| + tab.getUrl(), tab.getWebContents(), callback); |
|
Kibeom Kim (inactive)
2015/08/13 20:43:48
Hmm... so are we saving offline always even on a b
jianli
2015/08/13 22:37:18
Yes when OfflinePageBridge.isEnabled() is true. Th
|
| } |
| /** |