summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVasu Nori <vnori@google.com>2011-01-23 12:43:21 -0800
committerVasu Nori <vnori@google.com>2011-01-24 12:09:54 -0800
commit1bfe9ac0443303227e91b85c10fb02190e4beb2e (patch)
treed0a9aad26bb12488ea5cbd0e26ef16e6fdfa7380 /src
parentb18ed519040c1ecd98f8cb139adcc315a3f4eedc (diff)
downloadandroid_packages_providers_DownloadProvider-1bfe9ac0443303227e91b85c10fb02190e4beb2e.tar.gz
android_packages_providers_DownloadProvider-1bfe9ac0443303227e91b85c10fb02190e4beb2e.tar.bz2
android_packages_providers_DownloadProvider-1bfe9ac0443303227e91b85c10fb02190e4beb2e.zip
bug:3062216 (master) store correct status about network when paused
bug:3062216 Change-Id: I4d510a9fc2095ec86991ae657e90d5f39bc55415
Diffstat (limited to 'src')
-rw-r--r--src/com/android/providers/downloads/DownloadThread.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java
index 81e67a1a..76a5c386 100644
--- a/src/com/android/providers/downloads/DownloadThread.java
+++ b/src/com/android/providers/downloads/DownloadThread.java
@@ -213,7 +213,7 @@ public class DownloadThread extends Thread {
addRequestHeaders(innerState, request);
// check just before sending the request to avoid using an invalid connection at all
- checkConnectivity(state);
+ checkConnectivity();
HttpResponse response = sendRequest(state, client, request);
handleExceptionalStatus(state, innerState, response);
@@ -230,7 +230,7 @@ public class DownloadThread extends Thread {
/**
* Check if current connectivity is valid for this request.
*/
- private void checkConnectivity(State state) throws StopRequestException {
+ private void checkConnectivity() throws StopRequestException {
int networkUsable = mInfo.checkCanUseNetwork();
if (networkUsable != DownloadInfo.NETWORK_OK) {
int status = Downloads.Impl.STATUS_WAITING_FOR_NETWORK;
@@ -548,7 +548,7 @@ public class DownloadThread extends Thread {
updateDatabaseFromHeaders(state, innerState);
// check connectivity again now that we know the total size
- checkConnectivity(state);
+ checkConnectivity();
}
/**
@@ -763,8 +763,12 @@ public class DownloadThread extends Thread {
}
private int getFinalStatusForHttpError(State state) {
- if (!Helpers.isNetworkAvailable(mSystemFacade)) {
- return Downloads.Impl.STATUS_WAITING_FOR_NETWORK;
+ int networkUsable = mInfo.checkCanUseNetwork();
+ if (networkUsable != DownloadInfo.NETWORK_OK) {
+ return (networkUsable == DownloadInfo.NETWORK_UNUSABLE_DUE_TO_SIZE ||
+ networkUsable == DownloadInfo.NETWORK_RECOMMENDED_UNUSABLE_DUE_TO_SIZE)
+ ? Downloads.Impl.STATUS_QUEUED_FOR_WIFI
+ : Downloads.Impl.STATUS_WAITING_FOR_NETWORK;
} else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
state.mCountRetry = true;
return Downloads.Impl.STATUS_WAITING_TO_RETRY;