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

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

Issue 2278663002: Adding a new extra field to intent for offline page downloads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove a redudant function 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSharedPreferenceEntry.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java
index 7544e134e0e26ebbc6eaa5b817811820e69ef6ed..3e2c8cbb35ea5b64a58659701123a0e0ecbc9d5c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadNotificationService.java
@@ -49,6 +49,7 @@ public class DownloadNotificationService extends Service {
static final String EXTRA_DOWNLOAD_FILE_NAME = "DownloadFileName";
static final String EXTRA_NOTIFICATION_DISMISSED = "NotificationDismissed";
static final String EXTRA_DOWNLOAD_IS_OFF_THE_RECORD = "DownloadIsOffTheRecord";
+ static final String EXTRA_DOWNLOAD_IS_OFFLINE_PAGE = "DownloadIsOfflinePage";
static final String ACTION_DOWNLOAD_CANCEL =
"org.chromium.chrome.browser.download.DOWNLOAD_CANCEL";
static final String ACTION_DOWNLOAD_PAUSE =
@@ -229,12 +230,12 @@ public class DownloadNotificationService extends Service {
isOffTheRecord, canDownloadWhileMetered, downloadGuid, fileName, itemType));
if (startTime > 0) builder.setWhen(startTime);
Intent cancelIntent = buildActionIntent(
- ACTION_DOWNLOAD_CANCEL, notificationId, downloadGuid, fileName);
+ ACTION_DOWNLOAD_CANCEL, notificationId, downloadGuid, fileName, isOfflinePage);
builder.addAction(R.drawable.btn_close_white,
mContext.getResources().getString(R.string.download_notification_cancel_button),
buildPendingIntent(cancelIntent, notificationId));
Intent pauseIntent = buildActionIntent(
- ACTION_DOWNLOAD_PAUSE, notificationId, downloadGuid, fileName);
+ ACTION_DOWNLOAD_PAUSE, notificationId, downloadGuid, fileName, isOfflinePage);
builder.addAction(R.drawable.ic_vidcontrol_pause,
mContext.getResources().getString(R.string.download_notification_pause_button),
buildPendingIntent(pauseIntent, notificationId));
@@ -284,7 +285,8 @@ public class DownloadNotificationService extends Service {
android.R.drawable.ic_media_pause, entry.fileName,
mContext.getResources().getString(R.string.download_notification_paused));
Intent cancelIntent = buildActionIntent(
- ACTION_DOWNLOAD_CANCEL, entry.notificationId, entry.downloadGuid, entry.fileName);
+ ACTION_DOWNLOAD_CANCEL, entry.notificationId, entry.downloadGuid, entry.fileName,
+ entry.isOfflinePage());
Intent dismissIntent = new Intent(cancelIntent);
dismissIntent.putExtra(EXTRA_NOTIFICATION_DISMISSED, true);
builder.setDeleteIntent(buildPendingIntent(dismissIntent, entry.notificationId));
@@ -292,7 +294,8 @@ public class DownloadNotificationService extends Service {
mContext.getResources().getString(R.string.download_notification_cancel_button),
buildPendingIntent(cancelIntent, entry.notificationId));
Intent resumeIntent = buildActionIntent(
- ACTION_DOWNLOAD_RESUME, entry.notificationId, entry.downloadGuid, entry.fileName);
+ ACTION_DOWNLOAD_RESUME, entry.notificationId, entry.downloadGuid, entry.fileName,
+ entry.isOfflinePage());
resumeIntent.putExtra(EXTRA_DOWNLOAD_IS_OFF_THE_RECORD, entry.isOffTheRecord);
builder.addAction(R.drawable.ic_get_app_white_24dp,
mContext.getResources().getString(R.string.download_notification_resume_button),
@@ -325,8 +328,8 @@ public class DownloadNotificationService extends Service {
mContext.getPackageName(), DownloadBroadcastReceiver.class.getName());
Intent intent;
if (isOfflinePage) {
- intent =
- buildActionIntent(ACTION_DOWNLOAD_OPEN, notificationId, downloadGuid, fileName);
+ intent = buildActionIntent(ACTION_DOWNLOAD_OPEN, notificationId, downloadGuid, fileName,
+ isOfflinePage);
} else {
intent = new Intent(DownloadManager.ACTION_NOTIFICATION_CLICKED);
long[] idArray = {systemDownloadId};
@@ -403,9 +406,11 @@ public class DownloadNotificationService extends Service {
* @param notificationId ID of the notification.
* @param downloadGuid GUID of the download.
* @param fileName Name of the download file.
+ * @param isOfflinePage Whether the intent is for offline page download.
*/
private Intent buildActionIntent(
- String action, int notificationId, String downloadGuid, String fileName) {
+ String action, int notificationId, String downloadGuid, String fileName,
+ boolean isOfflinePage) {
ComponentName component = new ComponentName(
mContext.getPackageName(), DownloadBroadcastReceiver.class.getName());
Intent intent = new Intent(action);
@@ -413,6 +418,7 @@ public class DownloadNotificationService extends Service {
intent.putExtra(EXTRA_DOWNLOAD_NOTIFICATION_ID, notificationId);
intent.putExtra(EXTRA_DOWNLOAD_GUID, downloadGuid);
intent.putExtra(EXTRA_DOWNLOAD_FILE_NAME, fileName);
+ intent.putExtra(EXTRA_DOWNLOAD_IS_OFFLINE_PAGE, isOfflinePage);
return intent;
}
@@ -449,8 +455,11 @@ public class DownloadNotificationService extends Service {
boolean metered = DownloadManagerService.isActiveNetworkMetered(mContext);
boolean isOffTheRecord = IntentUtils.safeGetBooleanExtra(
intent, EXTRA_DOWNLOAD_IS_OFF_THE_RECORD, false);
+ boolean isOfflinePage = IntentUtils.safeGetBooleanExtra(
+ intent, EXTRA_DOWNLOAD_IS_OFFLINE_PAGE, false);
return new DownloadSharedPreferenceEntry(notificationId, isOffTheRecord, metered, guid,
- fileName, DownloadSharedPreferenceEntry.ITEM_TYPE_DOWNLOAD);
+ fileName, isOfflinePage ? DownloadSharedPreferenceEntry.ITEM_TYPE_OFFLINE_PAGE
+ : DownloadSharedPreferenceEntry.ITEM_TYPE_DOWNLOAD);
}
/**
@@ -514,7 +523,7 @@ public class DownloadNotificationService extends Service {
case ACTION_DOWNLOAD_RESUME:
notifyDownloadProgress(entry.downloadGuid, entry.fileName,
INVALID_DOWNLOAD_PERCENTAGE, 0, 0, entry.isOffTheRecord,
- entry.canDownloadWhileMetered, isOfflinePage(entry));
+ entry.canDownloadWhileMetered, entry.isOfflinePage());
downloadServiceDelegate.resumeDownload(entry.buildDownloadItem(), true);
break;
case ACTION_DOWNLOAD_RESUME_ALL:
@@ -650,7 +659,7 @@ public class DownloadNotificationService extends Service {
if (mDownloadsInProgress.contains(entry.downloadGuid)) continue;
if (!entry.canDownloadWhileMetered && isNetworkMetered) continue;
notifyDownloadProgress(entry.downloadGuid, entry.fileName, INVALID_DOWNLOAD_PERCENTAGE,
- 0, 0, false, entry.canDownloadWhileMetered, isOfflinePage(entry));
+ 0, 0, false, entry.canDownloadWhileMetered, entry.isOfflinePage());
DownloadServiceDelegate downloadServiceDelegate = getServiceDelegate(entry.itemType);
downloadServiceDelegate.resumeDownload(entry.buildDownloadItem(), false);
downloadServiceDelegate.destroyServiceDelegate();
@@ -719,10 +728,6 @@ public class DownloadNotificationService extends Service {
return notificationId;
}
- private boolean isOfflinePage(DownloadSharedPreferenceEntry entry) {
- return entry.itemType == DownloadSharedPreferenceEntry.ITEM_TYPE_OFFLINE_PAGE;
- }
-
/**
* Format remaining time for the given millis, in the following format:
* 5 hours; will include 1 unit, can go down to seconds precision.
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSharedPreferenceEntry.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698