diff options
author | Steve Howard <showard@google.com> | 2010-07-19 13:06:12 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-07-19 13:06:12 -0700 |
commit | 7d4a4bc1f4bf92906598ede0160ff234d1179dd4 (patch) | |
tree | cc14c8fabf869680a01ad49e2cf07275a3296cbe /src/com/android/providers/downloads/DownloadThread.java | |
parent | c45c8eb1f9e8d93a02a7af2621a8fbcea1b2f6a7 (diff) | |
parent | 071bd7acb3185f4f1e807855605c5e6018e9742f (diff) | |
download | android_packages_providers_DownloadProvider-7d4a4bc1f4bf92906598ede0160ff234d1179dd4.tar.gz android_packages_providers_DownloadProvider-7d4a4bc1f4bf92906598ede0160ff234d1179dd4.tar.bz2 android_packages_providers_DownloadProvider-7d4a4bc1f4bf92906598ede0160ff234d1179dd4.zip |
am 071bd7ac: Support for max download size that may go over mobile
Merge commit '071bd7acb3185f4f1e807855605c5e6018e9742f' into gingerbread-plus-aosp
* commit '071bd7acb3185f4f1e807855605c5e6018e9742f':
Support for max download size that may go over mobile
Diffstat (limited to 'src/com/android/providers/downloads/DownloadThread.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadThread.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java index 44e7962a..485aad3c 100644 --- a/src/com/android/providers/downloads/DownloadThread.java +++ b/src/com/android/providers/downloads/DownloadThread.java @@ -202,6 +202,12 @@ http_request_loop: request.addHeader("Range", "bytes=" + bytesSoFar + "-"); } + // check connectivity just before sending + if (!mInfo.canUseNetwork()) { + finalStatus = Downloads.Impl.STATUS_RUNNING_PAUSED; + break http_request_loop; + } + HttpResponse response; try { response = client.execute(request); @@ -444,8 +450,15 @@ http_request_loop: if (headerContentLength != null) { contentLength = Integer.parseInt(headerContentLength); } + mInfo.mTotalBytes = contentLength; values.put(Downloads.Impl.COLUMN_TOTAL_BYTES, contentLength); mContext.getContentResolver().update(contentUri, values, null, null); + // check connectivity again now that we know the total size + if (!mInfo.canUseNetwork()) { + finalStatus = Downloads.Impl.STATUS_RUNNING_PAUSED; + request.abort(); + break http_request_loop; + } } InputStream entityStream; @@ -779,7 +792,7 @@ http_request_loop: */ private void notifyThroughIntent() { Uri uri = Uri.parse(Downloads.Impl.CONTENT_URI + "/" + mInfo.mId); - mInfo.sendIntentIfRequested(uri, mContext); + mInfo.sendIntentIfRequested(uri); } /** |