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

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

Issue 2797003002: Pass file name when downloading OMA DRM files (Closed)
Patch Set: nit Created 3 years, 8 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/DownloadSnackbarController.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSnackbarController.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSnackbarController.java
index 00ef9d170d3dbb88289796ca9d57da8d4d97b7a6..17bd10979bfc66ece50eaf02201e45834b395c11 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSnackbarController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSnackbarController.java
@@ -5,7 +5,9 @@
package org.chromium.chrome.browser.download;
import android.app.Activity;
+import android.app.DownloadManager;
import android.content.Context;
+import android.content.Intent;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.BuildInfo;
@@ -27,11 +29,14 @@ public class DownloadSnackbarController implements SnackbarManager.SnackbarContr
public final DownloadInfo downloadInfo;
public final int notificationId;
public final long systemDownloadId;
+ public final boolean usesAndroidDownloadManager;
- ActionDataInfo(DownloadInfo downloadInfo, int notificationId, long systemDownloadId) {
+ ActionDataInfo(DownloadInfo downloadInfo, int notificationId, long systemDownloadId,
+ boolean usesAndroidDownloadManager) {
this.downloadInfo = downloadInfo;
this.notificationId = notificationId;
this.systemDownloadId = systemDownloadId;
+ this.usesAndroidDownloadManager = usesAndroidDownloadManager;
}
}
@@ -50,6 +55,11 @@ public class DownloadSnackbarController implements SnackbarManager.SnackbarContr
OfflinePageDownloadBridge.openDownloadedPage(download.downloadInfo.getContentId());
return;
}
+ if (download.usesAndroidDownloadManager) {
+ mContext.startActivity(new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS).addFlags(
+ Intent.FLAG_ACTIVITY_NEW_TASK));
+ return;
+ }
DownloadManagerService manager = DownloadManagerService.getDownloadManagerService();
manager.openDownloadedContent(download.downloadInfo, download.systemDownloadId);
if (download.notificationId != INVALID_NOTIFICATION_ID) {
@@ -69,9 +79,11 @@ public class DownloadSnackbarController implements SnackbarManager.SnackbarContr
* @param notificationId Notification Id of the successful download.
* @param downloadId Id of the download from Android DownloadManager.
* @param canBeResolved Whether the download can be resolved to any activity.
+ * @param usesAndroidDownloadManager Whether the download uses Android DownloadManager.
*/
public void onDownloadSucceeded(
- DownloadInfo downloadInfo, int notificationId, long downloadId, boolean canBeResolved) {
+ DownloadInfo downloadInfo, int notificationId, long downloadId, boolean canBeResolved,
+ boolean usesAndroidDownloadManager) {
if (getSnackbarManager() == null) return;
Snackbar snackbar;
if (getActivity() instanceof CustomTabActivity) {
@@ -87,8 +99,9 @@ public class DownloadSnackbarController implements SnackbarManager.SnackbarContr
// TODO(qinmin): Coalesce snackbars if multiple downloads finish at the same time.
snackbar.setDuration(SNACKBAR_DURATION_IN_MILLISECONDS).setSingleLine(false);
ActionDataInfo info = null;
- if (canBeResolved || downloadInfo.isOfflinePage()) {
- info = new ActionDataInfo(downloadInfo, notificationId, downloadId);
+ if (canBeResolved || downloadInfo.isOfflinePage() || usesAndroidDownloadManager) {
+ info = new ActionDataInfo(downloadInfo, notificationId, downloadId,
+ usesAndroidDownloadManager);
}
// Show downloads app if the download cannot be resolved to any activity.
snackbar.setAction(

Powered by Google App Engine
This is Rietveld 408576698