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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java

Issue 2266543003: [Download Home] Use OfflinePage titles & bolster tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@titles
Patch Set: setup Created 4 years, 4 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/download/ui/BackendProvider.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/download/DownloadManagerService.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
index 6fc3b473105d3c01c1d252af630cd7cf8375033c..8ba30bf89289f309ae92f65239961881700fae48 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
@@ -23,12 +23,14 @@ import android.util.Pair;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
+import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.SuppressFBWarnings;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.download.ui.BackendProvider;
import org.chromium.chrome.browser.download.ui.DownloadHistoryAdapter;
import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl;
import org.chromium.net.ConnectionType;
@@ -59,7 +61,8 @@ public class DownloadManagerService extends BroadcastReceiver implements
DownloadController.DownloadNotificationService,
NetworkChangeNotifierAutoDetect.Observer,
DownloadManagerDelegate.DownloadQueryCallback,
- DownloadServiceDelegate {
+ DownloadServiceDelegate,
+ BackendProvider.DownloadDelegate {
// Download status.
public static final int DOWNLOAD_STATUS_IN_PROGRESS = 0;
public static final int DOWNLOAD_STATUS_COMPLETE = 1;
@@ -121,7 +124,7 @@ public class DownloadManagerService extends BroadcastReceiver implements
@VisibleForTesting protected final List<String> mAutoResumableDownloadIds =
new ArrayList<String>();
private final List<DownloadUmaStatsEntry> mUmaEntries = new ArrayList<DownloadUmaStatsEntry>();
- private final List<DownloadHistoryAdapter> mHistoryAdapters = new ArrayList<>();
+ private final ObserverList<DownloadHistoryAdapter> mHistoryAdapters = new ObserverList<>();
private OMADownloadHandler mOMADownloadHandler;
private DownloadSnackbarController mDownloadSnackbarController;
@@ -1489,23 +1492,25 @@ public class DownloadManagerService extends BroadcastReceiver implements
}
/** Adds a new DownloadHistoryAdapter to the list. */
+ @Override
public void addDownloadHistoryAdapter(DownloadHistoryAdapter adapter) {
- mHistoryAdapters.add(adapter);
+ mHistoryAdapters.addObserver(adapter);
}
/** Removes a DownloadHistoryAdapter from the list. */
+ @Override
public void removeDownloadHistoryAdapter(DownloadHistoryAdapter adapter) {
- mHistoryAdapters.remove(adapter);
+ mHistoryAdapters.removeObserver(adapter);
}
/**
- * Begins sending back information about all entries in the user's DownloadHistory, with each
- * individual DownloadItem's data passed back via
- * {@link #onDownloadInfoAdded(String, String, String, String, long, long)}.
+ * Begins sending back information about all entries in the user's DownloadHistory via
+ * {@link #onAllDownloadsRetrieved}. If the DownloadHistory is not initialized yet, the
+ * callback will be delayed.
*
- * This call will be delayed if the native side has not yet been initialized.
* @param isOffTheRecord Whether or not to get downloads for the off the record profile.
*/
+ @Override
public void getAllDownloads(boolean isOffTheRecord) {
nativeGetAllDownloads(getNativeDownloadManagerService(), isOffTheRecord);
}
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/download/ui/BackendProvider.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698