summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadThread.java
diff options
context:
space:
mode:
authorSteve Howard <showard@google.com>2010-07-19 13:06:12 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-07-19 13:06:12 -0700
commit7d4a4bc1f4bf92906598ede0160ff234d1179dd4 (patch)
treecc14c8fabf869680a01ad49e2cf07275a3296cbe /src/com/android/providers/downloads/DownloadThread.java
parentc45c8eb1f9e8d93a02a7af2621a8fbcea1b2f6a7 (diff)
parent071bd7acb3185f4f1e807855605c5e6018e9742f (diff)
downloadandroid_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.java15
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);
}
/**