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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.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
Index: chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java
index fd5ee832bbaa2a2af28b02ecbaa96d800de1f8e9..fc245a6053a5291dd22e6dd3a0171e81beb2f551 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ui/DownloadManagerUi.java
@@ -24,12 +24,15 @@ import android.widget.ListView;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.Callback;
import org.chromium.base.ContentUriUtils;
+import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.ObserverList;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.BasicNativePage;
import org.chromium.chrome.browser.download.DownloadManagerService;
import org.chromium.chrome.browser.download.ui.DownloadHistoryItemWrapper.OfflinePageItemWrapper;
+import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadBridge;
+import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.widget.FadingShadow;
import org.chromium.chrome.browser.widget.FadingShadowView;
import org.chromium.chrome.browser.widget.selection.SelectionDelegate;
@@ -44,7 +47,7 @@ import java.util.concurrent.atomic.AtomicInteger;
* Displays and manages the UI for the download manager.
*/
-public class DownloadManagerUi implements OnMenuItemClickListener {
+public class DownloadManagerUi implements OnMenuItemClickListener, BackendProvider {
/**
* Interface to observe the changes in the download manager ui. This should be implemented by
@@ -52,11 +55,6 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
*/
public interface DownloadUiObserver {
/**
- * Initializes the {@link DownloadUiObserver}.
- */
- public void initialize(DownloadManagerUi manager);
-
- /**
* Called when the filter has been changed by the user.
*/
public void onFilterChanged(int filter);
@@ -64,7 +62,7 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
/**
* Called when the download manager is not shown anymore.
*/
- public void onManagerDestroyed(DownloadManagerUi manager);
+ public void onManagerDestroyed();
}
private static final String TAG = "download_ui";
@@ -84,6 +82,7 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
private final RecyclerView mRecyclerView;
private BasicNativePage mNativePage;
+ private OfflinePageDownloadBridge mOfflinePageBridge;
private SelectionDelegate<DownloadHistoryItemWrapper> mSelectionDelegate;
private final AtomicInteger mNumberOfFilesBeingDeleted = new AtomicInteger();
@@ -91,12 +90,16 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
Activity activity, boolean isOffTheRecord, ComponentName parentComponent) {
mActivity = activity;
mIsOffTheRecord = isOffTheRecord;
+ mOfflinePageBridge = new OfflinePageDownloadBridge(
+ Profile.getLastUsedProfile().getOriginalProfile());
+
mMainView = (ViewGroup) LayoutInflater.from(activity).inflate(R.layout.download_main, null);
mSelectionDelegate = new SelectionDelegate<DownloadHistoryItemWrapper>();
mHistoryAdapter = new DownloadHistoryAdapter(isOffTheRecord, parentComponent);
mHistoryAdapter.initialize(this);
+ addObserver(mHistoryAdapter);
mSpaceDisplay = new SpaceDisplay(mMainView, mHistoryAdapter);
mHistoryAdapter.registerAdapterDataObserver(mSpaceDisplay);
@@ -104,9 +107,9 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
mFilterAdapter = new FilterAdapter();
mFilterAdapter.initialize(this);
+ addObserver(mFilterAdapter);
mToolbar = (DownloadManagerToolbar) mMainView.findViewById(R.id.action_bar);
- mToolbar.initialize(this);
mToolbar.setOnMenuItemClickListener(this);
DrawerLayout drawerLayout = null;
if (!DeviceFormFactor.isLargeTablet(activity)) {
@@ -114,6 +117,7 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
}
mToolbar.initialize(mSelectionDelegate, 0, drawerLayout, R.id.normal_menu_group,
R.id.selection_mode_menu_group);
+ addObserver(mToolbar);
mFilterView = (ListView) mMainView.findViewById(R.id.section_list);
mFilterView.setAdapter(mFilterAdapter);
@@ -148,10 +152,15 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
*/
public void onDestroyed() {
for (DownloadUiObserver observer : mObservers) {
- observer.onManagerDestroyed(this);
+ observer.onManagerDestroyed();
removeObserver(observer);
}
+ if (mOfflinePageBridge != null) {
+ mOfflinePageBridge.destroy();
+ mOfflinePageBridge = null;
+ }
+
mHistoryAdapter.unregisterAdapterDataObserver(mSpaceDisplay);
}
@@ -182,9 +191,18 @@ public class DownloadManagerUi implements OnMenuItemClickListener {
return mMainView;
}
- /**
- * @return The SelectionDelegate responsible for tracking selected download items.
- */
+ @Override
+ public DownloadDelegate getDownloadDelegate() {
+ return DownloadManagerService.getDownloadManagerService(
+ ContextUtils.getApplicationContext());
+ }
+
+ @Override
+ public OfflinePageDownloadBridge getOfflinePageBridge() {
+ return mOfflinePageBridge;
+ }
+
+ @Override
public SelectionDelegate<DownloadHistoryItemWrapper> getSelectionDelegate() {
return mSelectionDelegate;
}

Powered by Google App Engine
This is Rietveld 408576698