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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItemsAdapter.java

Issue 1367063004: Support undoing offline page deletion (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: One more change Created 5 years, 2 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItemsAdapter.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItemsAdapter.java
index 8581b8ddd34c598c9e7ebffbd1058fa098160efb..88b8c500320e350fcfb602b9767c79af956dc7d4 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItemsAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItemsAdapter.java
@@ -18,6 +18,7 @@ import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver;
import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkManager.UIState;
import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkPromoHeader.PromoHeaderShowingChangeListener;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
+import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.OfflinePageModelObserver;
import org.chromium.chrome.browser.offlinepages.OfflinePageFreeUpSpaceCallback;
import org.chromium.chrome.browser.offlinepages.OfflinePageFreeUpSpaceDialog;
import org.chromium.chrome.browser.offlinepages.OfflinePageStorageSpaceHeader;
@@ -77,6 +78,8 @@ class EnhancedBookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.Vie
}
};
+ private OfflinePageModelObserver mOfflinePageModelObserver;
+
EnhancedBookmarkItemsAdapter(Context context) {
mContext = context;
@@ -272,6 +275,14 @@ class EnhancedBookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.Vie
mPromoHeaderManager = new EnhancedBookmarkPromoHeader(mContext, this);
OfflinePageBridge offlinePageBridge = mDelegate.getModel().getOfflinePageBridge();
if (offlinePageBridge != null) {
+ mOfflinePageModelObserver = new OfflinePageModelObserver() {
+ @Override
+ public void offlinePageModelChanged() {
+ mDelegate.notifyStateChange(EnhancedBookmarkItemsAdapter.this);
Ian Wen 2015/10/14 23:30:01 1. Is offline model change capable of removing/add
jianli 2015/10/14 23:40:48 We need to call notifyStateChange, since relayout
Ian Wen 2015/10/15 00:02:16 Hmm I saw another CL that adds delete signals to t
jianli 2015/10/15 00:05:26 Yes, we need it for undoing the bookmark deletion
+ }
+ };
+ offlinePageBridge.addObserver(mOfflinePageModelObserver);
+
mOfflineStorageHeader = new OfflinePageStorageSpaceHeader(
mContext, offlinePageBridge, new OfflinePageFreeUpSpaceCallback() {
@Override
@@ -295,7 +306,10 @@ class EnhancedBookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.Vie
mDelegate.removeUIObserver(this);
mDelegate.getModel().removeObserver(mBookmarkModelObserver);
mPromoHeaderManager.destroy();
- if (mOfflineStorageHeader != null) {
+
+ OfflinePageBridge offlinePageBridge = mDelegate.getModel().getOfflinePageBridge();
+ if (offlinePageBridge != null) {
+ offlinePageBridge.removeObserver(mOfflinePageModelObserver);
mOfflineStorageHeader.destroy();
}
}
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698