diff options
author | Zhao Wei Liew <zhaoweiliew@gmail.com> | 2016-10-01 19:36:07 +0800 |
---|---|---|
committer | Zhao Wei Liew <zhaoweiliew@gmail.com> | 2016-10-04 15:24:25 +0800 |
commit | 2696562b5a71c9b437e60f574e01aafa677e9333 (patch) | |
tree | c6babefb4a33fc872b172013debe33de7647a797 /src/com/android/providers/downloads/DownloadThread.java | |
parent | 383964e4289280610c9e6ff646c453e22bc99d5a (diff) | |
download | android_packages_providers_DownloadProvider-cm-14.0.tar.gz android_packages_providers_DownloadProvider-cm-14.0.tar.bz2 android_packages_providers_DownloadProvider-cm-14.0.zip |
DownloadProvider: Add support for manual pause/resumecm-14.0
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/DownloadThread.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadThread.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java index 40194038..dc09d84c 100644 --- a/src/com/android/providers/downloads/DownloadThread.java +++ b/src/com/android/providers/downloads/DownloadThread.java @@ -26,6 +26,7 @@ import static android.provider.Downloads.Impl.STATUS_CANNOT_RESUME; import static android.provider.Downloads.Impl.STATUS_FILE_ERROR; import static android.provider.Downloads.Impl.STATUS_HTTP_DATA_ERROR; import static android.provider.Downloads.Impl.STATUS_PAUSED_BY_APP; +import static android.provider.Downloads.Impl.STATUS_PAUSED_MANUAL; import static android.provider.Downloads.Impl.STATUS_QUEUED_FOR_WIFI; import static android.provider.Downloads.Impl.STATUS_RUNNING; import static android.provider.Downloads.Impl.STATUS_SUCCESS; @@ -154,9 +155,11 @@ public class DownloadThread extends Thread { private static final String NOT_DELETED = COLUMN_DELETED + " == '0'"; private static final String NOT_PAUSED = "(" + COLUMN_CONTROL + " IS NULL OR " + COLUMN_CONTROL + " != '" + CONTROL_PAUSED + "')"; + private static final String NOT_PAUSED_MANUAL = COLUMN_STATUS + " != '" + + STATUS_PAUSED_MANUAL + "'"; private static final String SELECTION_VALID = NOT_CANCELED + " AND " + NOT_DELETED + " AND " - + NOT_PAUSED; + + NOT_PAUSED + " AND " + NOT_PAUSED_MANUAL; public DownloadInfoDelta(DownloadInfo info) { mUri = info.mUri; @@ -206,6 +209,8 @@ public class DownloadThread extends Thread { buildContentValues(), SELECTION_VALID, null) == 0) { if (mInfo.queryDownloadControl() == CONTROL_PAUSED) { throw new StopRequestException(STATUS_PAUSED_BY_APP, "Download paused!"); + } else if (mInfo.queryDownloadStatus() == STATUS_PAUSED_MANUAL) { + throw new StopRequestException(STATUS_PAUSED_MANUAL, "Download paused manually!"); } else { throw new StopRequestException(STATUS_CANCELED, "Download deleted or missing!"); } |