| Index: chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java
|
| index d20ec1b303589c62c0dca259fe7336ca079dd9c1..48b0ad5144e0b93fc683f432207230832675af4f 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java
|
| @@ -23,6 +23,7 @@ import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver;
|
| import org.chromium.chrome.browser.UrlUtilities;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.DeletePageCallback;
|
| +import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.OfflinePageModelObserver;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.SavePageCallback;
|
| import org.chromium.chrome.browser.offlinepages.OfflinePageItem;
|
| import org.chromium.chrome.browser.widget.EmptyAlertEditText;
|
| @@ -60,6 +61,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase {
|
| private MenuItem mDeleteButton;
|
|
|
| private OfflineButtonType mOfflineButtonType = OfflineButtonType.NONE;
|
| + private OfflinePageModelObserver mOfflinePageModelObserver;
|
|
|
| private BookmarkModelObserver mBookmarkModelObserver = new BookmarkModelObserver() {
|
| @Override
|
| @@ -129,6 +131,16 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase {
|
| });
|
|
|
| if (OfflinePageBridge.isEnabled()) {
|
| + mOfflinePageModelObserver = new OfflinePageModelObserver() {
|
| + @Override
|
| + public void offlinePageDeleted(BookmarkId bookmarkId) {
|
| + if (mBookmarkId.equals(bookmarkId)) {
|
| + updateOfflineSection();
|
| + }
|
| + }
|
| + };
|
| +
|
| + mEnhancedBookmarksModel.getOfflinePageBridge().addObserver(mOfflinePageModelObserver);
|
| // Make offline page section visible and find controls.
|
| findViewById(R.id.offline_page_group).setVisibility(View.VISIBLE);
|
| getIntent().setExtrasClassLoader(WebContents.class.getClassLoader());
|
| @@ -208,6 +220,10 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase {
|
| @Override
|
| protected void onDestroy() {
|
| recordOfflineButtonAction(false);
|
| + if (OfflinePageBridge.isEnabled()) {
|
| + mEnhancedBookmarksModel.getOfflinePageBridge().removeObserver(
|
| + mOfflinePageModelObserver);
|
| + }
|
| mEnhancedBookmarksModel.removeObserver(mBookmarkModelObserver);
|
| mEnhancedBookmarksModel.destroy();
|
| mEnhancedBookmarksModel = null;
|
| @@ -220,6 +236,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase {
|
|
|
| OfflinePageItem offlinePage = mEnhancedBookmarksModel.getOfflinePageBridge()
|
| .getPageByBookmarkId(mBookmarkId);
|
| + mEnhancedBookmarksModel.getOfflinePageBridge().checkOfflinePageMetadata();
|
| if (offlinePage != null) {
|
| // Offline page exists. Show information and button to remove.
|
| offlinePageInfoTextView.setText(getString(R.string.bookmark_offline_page_size,
|
|
|