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

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

Issue 2269293002: [Download Home] Various fixes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@DOWNLOADS_activity_tests
Patch Set: 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/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 673b75ddd3e3fa9a8e69edd11ec248652df1a11f..0f553b995ba4a93b7840cf60d15afad6bafea79b 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
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.download;
+import android.app.Activity;
import android.app.DownloadManager;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
@@ -21,6 +22,8 @@ import android.text.TextUtils;
import android.util.LongSparseArray;
import android.util.Pair;
+import org.chromium.base.ActivityState;
+import org.chromium.base.ApplicationStatus;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.ObserverList;
@@ -30,6 +33,8 @@ 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.ChromeActivity;
+import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.download.ui.BackendProvider;
import org.chromium.chrome.browser.download.ui.DownloadHistoryAdapter;
import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl;
@@ -1069,12 +1074,24 @@ public class DownloadManagerService extends BroadcastReceiver implements
* @param context Application context
*/
protected static void openDownloadsPage(Context context) {
- Intent pageView = new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS);
- pageView.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- try {
- context.startActivity(pageView);
- } catch (ActivityNotFoundException e) {
- Log.e(TAG, "Cannot find Downloads app", e);
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.SYSTEM_DOWNLOAD_MANAGER)) {
+ Intent pageView = new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS);
+ pageView.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ try {
+ context.startActivity(pageView);
+ } catch (ActivityNotFoundException e) {
+ Log.e(TAG, "Cannot find Downloads app", e);
+ }
+ } else {
+ Activity lastActivity = ApplicationStatus.getLastTrackedFocusedActivity();
+ if (lastActivity instanceof ChromeActivity) {
+ int state = ApplicationStatus.getStateForActivity(lastActivity);
+ if (state >= ActivityState.CREATED && state <= ActivityState.RESUMED) {
+ ChromeActivity chromeActivity = (ChromeActivity) lastActivity;
+ DownloadUtils.showDownloadManager(
+ lastActivity, chromeActivity.getActivityTab());
+ }
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698