diff options
author | Zhao Wei Liew <zhaoweiliew@gmail.com> | 2016-10-01 19:36:07 +0800 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2018-01-12 22:08:50 +0200 |
commit | 5d6ff486d60eca8d30177941762d184b7924e7bf (patch) | |
tree | 8108c160bc6e5ff3747af70dd7dcc4cf6910f8e6 /src/com/android/providers/downloads/DownloadStorageProvider.java | |
parent | 0c81e86f621779a8cc3b1f3082afb1cbbe376071 (diff) | |
download | android_packages_providers_DownloadProvider-staging/lineage-15.1.tar.gz android_packages_providers_DownloadProvider-staging/lineage-15.1.tar.bz2 android_packages_providers_DownloadProvider-staging/lineage-15.1.zip |
DownloadProvider: Add support for manual pause/resumestaging/lineage-15.1
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/DownloadStorageProvider.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadStorageProvider.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/com/android/providers/downloads/DownloadStorageProvider.java b/src/com/android/providers/downloads/DownloadStorageProvider.java index 92f4c021..efeb272b 100644 --- a/src/com/android/providers/downloads/DownloadStorageProvider.java +++ b/src/com/android/providers/downloads/DownloadStorageProvider.java @@ -459,6 +459,10 @@ public class DownloadStorageProvider extends FileSystemProvider { int extraFlags = Document.FLAG_PARTIAL; final int status = cursor.getInt( cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS)); + final long progress = cursor.getLong(cursor.getColumnIndexOrThrow( + DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)); + final int reason = cursor.getInt( + cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_REASON)); switch (status) { case DownloadManager.STATUS_SUCCESSFUL: // Verify that the document still exists in external storage. This is necessary @@ -470,14 +474,21 @@ public class DownloadStorageProvider extends FileSystemProvider { extraFlags = Document.FLAG_SUPPORTS_RENAME; // only successful is non-partial break; case DownloadManager.STATUS_PAUSED: - summary = getContext().getString(R.string.download_queued); + if (reason == DownloadManager.PAUSED_MANUAL) { + if (size != null) { + long percent = progress * 100 / size; + summary = getContext().getString(R.string.download_paused_percent, percent); + } else { + summary = getContext().getString(R.string.download_paused); + } + } else { + summary = getContext().getString(R.string.download_queued); + } break; case DownloadManager.STATUS_PENDING: summary = getContext().getString(R.string.download_queued); break; case DownloadManager.STATUS_RUNNING: - final long progress = cursor.getLong(cursor.getColumnIndexOrThrow( - DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)); if (size != null) { String percent = NumberFormat.getPercentInstance().format((double) progress / size); |