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

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

Issue 2798093003: Fix open paths for download ContentId work (Closed)
Patch Set: Rebased 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 17bd10979bfc66ece50eaf02201e45834b395c11..5acb1ba94d0c7e978b93ec9645a8a4969743e7b5 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
@@ -13,9 +13,11 @@ import org.chromium.base.ApplicationStatus;
import org.chromium.base.BuildInfo;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.customtabs.CustomTabActivity;
+import org.chromium.chrome.browser.download.items.OfflineContentAggregatorNotificationBridgeUiFactory;
import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadBridge;
import org.chromium.chrome.browser.snackbar.Snackbar;
import org.chromium.chrome.browser.snackbar.SnackbarManager;
+import org.chromium.components.offline_items_collection.LegacyHelpers;
/**
* Class for displaying a snackbar when a download completes.
@@ -50,18 +52,23 @@ public class DownloadSnackbarController implements SnackbarManager.SnackbarContr
DownloadManagerService.openDownloadsPage(mContext);
return;
}
+
+ DownloadManagerService manager = DownloadManagerService.getDownloadManagerService();
final ActionDataInfo download = (ActionDataInfo) actionData;
- if (download.downloadInfo.isOfflinePage()) {
+ if (LegacyHelpers.isLegacyOfflinePage(download.downloadInfo.getContentId())) {
OfflinePageDownloadBridge.openDownloadedPage(download.downloadInfo.getContentId());
- return;
- }
- if (download.usesAndroidDownloadManager) {
- mContext.startActivity(new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS).addFlags(
- Intent.FLAG_ACTIVITY_NEW_TASK));
- return;
+ } else if (LegacyHelpers.isLegacyDownload(download.downloadInfo.getContentId())) {
+ if (download.usesAndroidDownloadManager) {
+ mContext.startActivity(new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS)
+ .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
+ } else {
+ manager.openDownloadedContent(download.downloadInfo, download.systemDownloadId);
+ }
+ } else {
+ OfflineContentAggregatorNotificationBridgeUiFactory.instance().openItem(
+ download.downloadInfo.getContentId());
}
- DownloadManagerService manager = DownloadManagerService.getDownloadManagerService();
- manager.openDownloadedContent(download.downloadInfo, download.systemDownloadId);
+
if (download.notificationId != INVALID_NOTIFICATION_ID) {
manager.getDownloadNotifier().removeDownloadNotification(
download.notificationId, download.downloadInfo);
@@ -99,7 +106,8 @@ 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() || usesAndroidDownloadManager) {
+ if (canBeResolved || !LegacyHelpers.isLegacyDownload(downloadInfo.getContentId())
+ || usesAndroidDownloadManager) {
info = new ActionDataInfo(downloadInfo, notificationId, downloadId,
usesAndroidDownloadManager);
}

Powered by Google App Engine
This is Rietveld 408576698