Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3672)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java

Issue 1739503002: Makes the OfflinePageBridge.getAllPages method asynchronous. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix some comments. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
index 5a6b260011939de8f8464e4d8a6d22da70d3acf5..d35f2da7ee304ad0f27470d5f13c0a24229c9a53 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -46,6 +46,9 @@ public class BookmarkUtils {
/**
* If the tab has already been bookmarked, start {@link BookmarkEditActivity} for the
* bookmark. If not, add the bookmark to bookmarkmodel, and show a snackbar notifying the user.
+ *
+ * Note: Takes ownership of bookmarkModel, and will call |destroy| on it when finished.
+ *
* @param idToAdd The bookmark ID if the tab has already been bookmarked.
* @param bookmarkModel The bookmark model.
* @param tab The tab to add or edit a bookmark.
@@ -61,6 +64,7 @@ public class BookmarkUtils {
if (idToAdd != Tab.INVALID_BOOKMARK_ID) {
startEditActivity(activity, new BookmarkId(idToAdd, BookmarkType.NORMAL),
webContentsToSave);
+ bookmarkModel.destroy();
return;
}
@@ -73,7 +77,7 @@ public class BookmarkUtils {
bookmarkModel.addBookmarkAsync(parent, bookmarkModel.getChildCount(parent), tab.getTitle(),
tab.getUrl(), webContentsToSave,
createAddBookmarkCallback(bookmarkModel, snackbarManager, activity,
- webContentsToSave));
+ webContentsToSave));
}
/**
@@ -227,10 +231,7 @@ public class BookmarkUtils {
* Gets whether bookmark manager should load offline page initially.
*/
private static boolean shouldShowOfflinePageAtFirst(OfflinePageBridge bridge) {
- if (bridge == null || bridge.getAllPages().isEmpty() || OfflinePageUtils.isConnected()) {
- return false;
- }
- return true;
+ return !OfflinePageUtils.isConnected() && bridge != null && bridge.hasPages();
}
/**
@@ -255,17 +256,14 @@ public class BookmarkUtils {
private static String getFirstUrlToLoad(Activity activity) {
BookmarkModel model = new BookmarkModel();
OfflinePageBridge bridge = model.getOfflinePageBridge();
- try {
- if (shouldShowOfflinePageAtFirst(bridge)) {
- return BookmarkUIState.createFilterUrl(BookmarkFilter.OFFLINE_PAGES,
- false).toString();
- }
- String lastUsedUrl = getLastUsedUrl(activity);
- if (!TextUtils.isEmpty(lastUsedUrl)) return lastUsedUrl;
- return UrlConstants.BOOKMARKS_URL;
- } finally {
- model.destroy();
+ model.destroy();
+
+ if (shouldShowOfflinePageAtFirst(bridge)) {
+ return BookmarkUIState.createFilterUrl(BookmarkFilter.OFFLINE_PAGES, false).toString();
}
+
+ String lastUsedUrl = getLastUsedUrl(activity);
+ return TextUtils.isEmpty(lastUsedUrl) ? UrlConstants.BOOKMARKS_URL : lastUsedUrl;
}
/**

Powered by Google App Engine
This is Rietveld 408576698