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
|
} |
/** |