diff options
author | Zhao Wei Liew <zhaoweiliew@gmail.com> | 2016-10-01 19:36:07 +0800 |
---|---|---|
committer | Tim Schumacher <timschumi@gmx.de> | 2019-09-07 20:39:14 +0200 |
commit | ab4398884f43cc7592c5c5771c7462972c860c95 (patch) | |
tree | a95e40cfdfb984c22668f3f76e4124184ad97d83 /src/com/android/providers/downloads/DownloadReceiver.java | |
parent | 19e05457f14c58190ed41aadf12673a309a96de2 (diff) | |
download | android_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.java | 20 |
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)); } } |