| Index: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
|
| index 915cd6d93f3c00a084c247ac2aab2102cedc7140..d56c536d217d2524a8e44c12abe2f0bfda755168 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadHistoryItemWrapper.java
|
| @@ -18,8 +18,6 @@ import org.chromium.base.Log;
|
| import org.chromium.base.metrics.RecordHistogram;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.download.DownloadItem;
|
| -import org.chromium.chrome.browser.download.DownloadManagerService;
|
| -import org.chromium.chrome.browser.download.ui.BackendProvider.OfflinePageDelegate;
|
| import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadItem;
|
| import org.chromium.chrome.browser.widget.DateDividedAdapter.TimedItem;
|
| import org.chromium.ui.widget.Toast;
|
| @@ -28,11 +26,16 @@ import java.io.File;
|
| import java.util.Locale;
|
|
|
| /** Wraps different classes that contain information about downloads. */
|
| -abstract class DownloadHistoryItemWrapper implements TimedItem {
|
| +public abstract class DownloadHistoryItemWrapper implements TimedItem {
|
| private static final String TAG = "download_ui";
|
|
|
| + protected final BackendProvider mBackendProvider;
|
| private Long mStableId;
|
|
|
| + private DownloadHistoryItemWrapper(BackendProvider provider) {
|
| + mBackendProvider = provider;
|
| + }
|
| +
|
| @Override
|
| public long getStableId() {
|
| if (mStableId == null) {
|
| @@ -103,10 +106,11 @@ abstract class DownloadHistoryItemWrapper implements TimedItem {
|
| private static final String MIMETYPE_DOCUMENT = "text";
|
|
|
| private final DownloadItem mItem;
|
| - private boolean mIsOffTheRecord;
|
| + private final boolean mIsOffTheRecord;
|
| private File mFile;
|
|
|
| - DownloadItemWrapper(DownloadItem item, boolean isOffTheRecord) {
|
| + DownloadItemWrapper(DownloadItem item, boolean isOffTheRecord, BackendProvider provider) {
|
| + super(provider);
|
| mItem = item;
|
| mIsOffTheRecord = isOffTheRecord;
|
| }
|
| @@ -199,9 +203,7 @@ abstract class DownloadHistoryItemWrapper implements TimedItem {
|
| @Override
|
| public void delete(final Callback<Void> callback) {
|
| // Tell the DownloadManager to remove the file from history.
|
| - DownloadManagerService service = DownloadManagerService.getDownloadManagerService(
|
| - ContextUtils.getApplicationContext());
|
| - service.removeDownload(getId(), mIsOffTheRecord);
|
| + mBackendProvider.getDownloadDelegate().removeDownload(getId(), mIsOffTheRecord);
|
|
|
| // Delete the file from storage.
|
| new AsyncTask<Void, Void, Void>() {
|
| @@ -250,14 +252,13 @@ abstract class DownloadHistoryItemWrapper implements TimedItem {
|
| /** Wraps a {@link OfflinePageDownloadItem}. */
|
| static class OfflinePageItemWrapper extends DownloadHistoryItemWrapper {
|
| private final OfflinePageDownloadItem mItem;
|
| - private final OfflinePageDelegate mBridge;
|
| private final ComponentName mComponent;
|
| private File mFile;
|
|
|
| - OfflinePageItemWrapper(OfflinePageDownloadItem item, OfflinePageDelegate bridge,
|
| + OfflinePageItemWrapper(OfflinePageDownloadItem item, BackendProvider provider,
|
| ComponentName component) {
|
| + super(provider);
|
| mItem = item;
|
| - mBridge = bridge;
|
| mComponent = component;
|
| }
|
|
|
| @@ -320,13 +321,13 @@ abstract class DownloadHistoryItemWrapper implements TimedItem {
|
|
|
| @Override
|
| public void open() {
|
| - mBridge.openItem(getId(), mComponent);
|
| + mBackendProvider.getOfflinePageBridge().openItem(getId(), mComponent);
|
| recordOpenSuccess();
|
| }
|
|
|
| @Override
|
| public void delete(Callback<Void> callback) {
|
| - mBridge.deleteItem(getId());
|
| + mBackendProvider.getOfflinePageBridge().deleteItem(getId());
|
| callback.onResult(null);
|
| }
|
|
|
|
|