diff options
author | Zhao Wei Liew <zhaoweiliew@gmail.com> | 2016-10-01 19:36:07 +0800 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2019-12-11 23:45:53 +0200 |
commit | a3c2a81606b8c3b271a32a28446641bc6ed1e284 (patch) | |
tree | 29855031932131a87fa18d09a127936fdbda0d66 /src/com/android/providers/downloads/DownloadThread.java | |
parent | f94cb893ee34f32336ecd4e1b4aa83fc9b288133 (diff) | |
download | android_packages_providers_DownloadProvider-a3c2a81606b8c3b271a32a28446641bc6ed1e284.tar.gz android_packages_providers_DownloadProvider-a3c2a81606b8c3b271a32a28446641bc6ed1e284.tar.bz2 android_packages_providers_DownloadProvider-a3c2a81606b8c3b271a32a28446641bc6ed1e284.zip |
DownloadProvider: Add support for manual pause/resumestaging/lineage-17.0_merge-android-10.0.0_r9
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 bc7997f6..15b17297 100644 --- a/src/com/android/providers/downloads/DownloadThread.java +++ b/src/com/android/providers/downloads/DownloadThread.java @@ -29,6 +29,7 @@ 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_INSUFFICIENT_SPACE_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; @@ -159,9 +160,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; @@ -211,6 +214,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!"); } |