Chromium Code Reviews| 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..3c3ef57f33a4f0dbf3b5d7c284da417e07a3915d 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; |
| @@ -215,11 +231,14 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
| } |
| private void updateOfflineSection() { |
| + assert OfflinePageBridge.isEnabled(); |
| + |
| Button saveRemoveVisitButton = (Button) findViewById(R.id.offline_page_save_remove_button); |
| TextView offlinePageInfoTextView = (TextView) findViewById(R.id.offline_page_info_text); |
| OfflinePageItem offlinePage = mEnhancedBookmarksModel.getOfflinePageBridge() |
| .getPageByBookmarkId(mBookmarkId); |
| + mEnhancedBookmarksModel.getOfflinePageBridge().checkOfflinePageMetadata(); |
|
Ian Wen
2015/10/20 20:52:01
This looks like a sanity check, so let's move it t
fgorski
2015/10/21 20:01:33
Done.
|
| if (offlinePage != null) { |
| // Offline page exists. Show information and button to remove. |
| offlinePageInfoTextView.setText(getString(R.string.bookmark_offline_page_size, |