summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadReceiver.java
diff options
context:
space:
mode:
authorZhao Wei Liew <zhaoweiliew@gmail.com>2016-10-01 19:36:07 +0800
committerTim Schumacher <timschumi@gmx.de>2019-09-07 20:39:14 +0200
commitab4398884f43cc7592c5c5771c7462972c860c95 (patch)
treea95e40cfdfb984c22668f3f76e4124184ad97d83 /src/com/android/providers/downloads/DownloadReceiver.java
parent19e05457f14c58190ed41aadf12673a309a96de2 (diff)
downloadandroid_packages_providers_DownloadProvider-ab4398884f43cc7592c5c5771c7462972c860c95.tar.gz
android_packages_providers_DownloadProvider-ab4398884f43cc7592c5c5771c7462972c860c95.tar.bz2
android_packages_providers_DownloadProvider-ab4398884f43cc7592c5c5771c7462972c860c95.zip
DownloadProvider: Add support for manual pause/resume
Implement the following features: - Manually pause/resume individual downloads in DownloadManager - Manually pause/resume all downloads in notification Based on commit ecd609e7017b8a69688bbae25c17d878ea305f19. Change-Id: I433cdee2de8b3add0248bbb0a9d02f8da4e5bb38
Diffstat (limited to 'src/com/android/providers/downloads/DownloadReceiver.java')
-rw-r--r--src/com/android/providers/downloads/DownloadReceiver.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/DownloadReceiver.java b/src/com/android/providers/downloads/DownloadReceiver.java
index 40b5e093..acd7070c 100644
--- a/src/com/android/providers/downloads/DownloadReceiver.java
+++ b/src/com/android/providers/downloads/DownloadReceiver.java
@@ -122,6 +122,26 @@ public class DownloadReceiver extends BroadcastReceiver {
NotificationManager notifManager = (NotificationManager) context.getSystemService(
Context.NOTIFICATION_SERVICE);
notifManager.cancel(notifTag, 0);
+ } else if (Constants.ACTION_PAUSE.equals(action)) {
+ long[] downloadIds = intent.getLongArrayExtra(
+ DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS);
+ DownloadManager manager = (DownloadManager) context.getSystemService(
+ Context.DOWNLOAD_SERVICE);
+ for (long id : downloadIds) {
+ manager.pauseDownload(id);
+ }
+ } else if (Constants.ACTION_RESUME_QUEUE.equals(action)) {
+ long[] downloadIds = intent.getLongArrayExtra(
+ DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS);
+ DownloadManager manager = (DownloadManager) context.getSystemService(
+ Context.DOWNLOAD_SERVICE);
+ for (long id : downloadIds) {
+ manager.resumeDownload(id);
+ Helpers.scheduleJob(context, DownloadInfo.queryDownloadInfo(context, id));
+ }
+ } else if (Constants.ACTION_RESUME.equals(action)) {
+ long id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
+ Helpers.scheduleJob(context, DownloadInfo.queryDownloadInfo(context, id));
}
}