diff options
author | Vasu Nori <vnori@google.com> | 2011-01-23 12:43:21 -0800 |
---|---|---|
committer | Vasu Nori <vnori@google.com> | 2011-01-24 12:09:54 -0800 |
commit | 1bfe9ac0443303227e91b85c10fb02190e4beb2e (patch) | |
tree | d0a9aad26bb12488ea5cbd0e26ef16e6fdfa7380 /src | |
parent | b18ed519040c1ecd98f8cb139adcc315a3f4eedc (diff) | |
download | android_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.java | 14 |
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; |