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

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

Issue 2341643008: Defaulting all downloads to go through Chrome network stack (Closed)
Patch Set: remove extern Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.download; 5 package org.chromium.chrome.browser.download;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.app.DownloadManager; 8 import android.app.DownloadManager;
9 import android.content.ActivityNotFoundException; 9 import android.content.ActivityNotFoundException;
10 import android.content.BroadcastReceiver; 10 import android.content.BroadcastReceiver;
(...skipping 16 matching lines...) Expand all
27 import org.chromium.base.ContextUtils; 27 import org.chromium.base.ContextUtils;
28 import org.chromium.base.Log; 28 import org.chromium.base.Log;
29 import org.chromium.base.ObserverList; 29 import org.chromium.base.ObserverList;
30 import org.chromium.base.ThreadUtils; 30 import org.chromium.base.ThreadUtils;
31 import org.chromium.base.VisibleForTesting; 31 import org.chromium.base.VisibleForTesting;
32 import org.chromium.base.annotations.CalledByNative; 32 import org.chromium.base.annotations.CalledByNative;
33 import org.chromium.base.annotations.SuppressFBWarnings; 33 import org.chromium.base.annotations.SuppressFBWarnings;
34 import org.chromium.base.metrics.RecordHistogram; 34 import org.chromium.base.metrics.RecordHistogram;
35 import org.chromium.chrome.R; 35 import org.chromium.chrome.R;
36 import org.chromium.chrome.browser.ChromeActivity; 36 import org.chromium.chrome.browser.ChromeActivity;
37 import org.chromium.chrome.browser.ChromeFeatureList;
38 import org.chromium.chrome.browser.download.ui.BackendProvider; 37 import org.chromium.chrome.browser.download.ui.BackendProvider;
39 import org.chromium.chrome.browser.download.ui.DownloadHistoryAdapter; 38 import org.chromium.chrome.browser.download.ui.DownloadHistoryAdapter;
40 import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl; 39 import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl;
41 import org.chromium.net.ConnectionType; 40 import org.chromium.net.ConnectionType;
42 import org.chromium.net.NetworkChangeNotifierAutoDetect; 41 import org.chromium.net.NetworkChangeNotifierAutoDetect;
43 import org.chromium.net.RegistrationPolicyAlwaysRegister; 42 import org.chromium.net.RegistrationPolicyAlwaysRegister;
44 import org.chromium.ui.widget.Toast; 43 import org.chromium.ui.widget.Toast;
45 44
46 import java.io.File; 45 import java.io.File;
47 import java.util.ArrayList; 46 import java.util.ArrayList;
(...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after
1056 protected void setDownloadSnackbarController( 1055 protected void setDownloadSnackbarController(
1057 DownloadSnackbarController downloadSnackbarController) { 1056 DownloadSnackbarController downloadSnackbarController) {
1058 mDownloadSnackbarController = downloadSnackbarController; 1057 mDownloadSnackbarController = downloadSnackbarController;
1059 } 1058 }
1060 1059
1061 /** 1060 /**
1062 * Open the Activity which shows a list of all downloads. 1061 * Open the Activity which shows a list of all downloads.
1063 * @param context Application context 1062 * @param context Application context
1064 */ 1063 */
1065 protected static void openDownloadsPage(Context context) { 1064 protected static void openDownloadsPage(Context context) {
1066 if (!ChromeFeatureList.isEnabled(ChromeFeatureList.SYSTEM_DOWNLOAD_MANAG ER)) { 1065 // Try to open Download Home.
1067 // Try to open Download Home. 1066 Activity lastActivity = ApplicationStatus.getLastTrackedFocusedActivity( );
1068 Activity lastActivity = ApplicationStatus.getLastTrackedFocusedActiv ity(); 1067 if (lastActivity instanceof ChromeActivity) {
1069 if (lastActivity instanceof ChromeActivity) { 1068 int state = ApplicationStatus.getStateForActivity(lastActivity);
1070 int state = ApplicationStatus.getStateForActivity(lastActivity); 1069 if (state >= ActivityState.CREATED && state <= ActivityState.RESUMED ) {
1071 if (state >= ActivityState.CREATED && state <= ActivityState.RES UMED) { 1070 ChromeActivity chromeActivity = (ChromeActivity) lastActivity;
1072 ChromeActivity chromeActivity = (ChromeActivity) lastActivit y; 1071 DownloadUtils.showDownloadManager(
1073 DownloadUtils.showDownloadManager( 1072 lastActivity, chromeActivity.getActivityTab());
1074 lastActivity, chromeActivity.getActivityTab()); 1073 return;
1075 return;
1076 }
1077 } 1074 }
1078 } 1075 }
1079 1076
1080 // Open the Android Download Manager. 1077 // Open the Android Download Manager.
asanka 2016/09/19 19:29:12 Why try to open this at all once Chrome is handlin
gone 2016/09/19 19:33:56 Download Home is tied to a tab: on tablets it's di
asanka 2016/09/19 20:05:06 Right. Though on phones downloads home is a separa
gone 2016/09/19 20:10:42 Separate activity, but it's still tied to whether
qinmin 2016/09/19 21:16:13 For OMA downloads, which didn't go through Chrome,
1081 Intent pageView = new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS); 1078 Intent pageView = new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS);
1082 pageView.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 1079 pageView.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
1083 try { 1080 try {
1084 context.startActivity(pageView); 1081 context.startActivity(pageView);
1085 } catch (ActivityNotFoundException e) { 1082 } catch (ActivityNotFoundException e) {
1086 Log.e(TAG, "Cannot find Downloads app", e); 1083 Log.e(TAG, "Cannot find Downloads app", e);
1087 } 1084 }
1088 } 1085 }
1089 1086
1090 /** 1087 /**
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
1657 boolean isNotificationDismissed); 1654 boolean isNotificationDismissed);
1658 private native void nativePauseDownload(long nativeDownloadManagerService, S tring downloadGuid, 1655 private native void nativePauseDownload(long nativeDownloadManagerService, S tring downloadGuid,
1659 boolean isOffTheRecord); 1656 boolean isOffTheRecord);
1660 private native void nativeRemoveDownload(long nativeDownloadManagerService, String downloadGuid, 1657 private native void nativeRemoveDownload(long nativeDownloadManagerService, String downloadGuid,
1661 boolean isOffTheRecord); 1658 boolean isOffTheRecord);
1662 private native void nativeGetAllDownloads( 1659 private native void nativeGetAllDownloads(
1663 long nativeDownloadManagerService, boolean isOffTheRecord); 1660 long nativeDownloadManagerService, boolean isOffTheRecord);
1664 private native void nativeCheckForExternallyRemovedDownloads( 1661 private native void nativeCheckForExternallyRemovedDownloads(
1665 long nativeDownloadManagerService, boolean isOffTheRecord); 1662 long nativeDownloadManagerService, boolean isOffTheRecord);
1666 } 1663 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698