diff options
author | Steve Howard <showard@google.com> | 2010-09-20 15:43:49 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-09-20 15:43:49 -0700 |
commit | 2031fa7bad5ef3e31cf0ea73d0b9bf4670842cf0 (patch) | |
tree | 89cfcc04ba69c0623cd4fcfcd39c0fec2c3e92fb /src/com/android/providers/downloads/DownloadThread.java | |
parent | b8cadd87bfc628090c36f74979c7691bb1219ea1 (diff) | |
parent | dc738781156d0f5ac1db62838d42c876d740810d (diff) | |
download | android_packages_providers_DownloadProvider-2031fa7bad5ef3e31cf0ea73d0b9bf4670842cf0.tar.gz android_packages_providers_DownloadProvider-2031fa7bad5ef3e31cf0ea73d0b9bf4670842cf0.tar.bz2 android_packages_providers_DownloadProvider-2031fa7bad5ef3e31cf0ea73d0b9bf4670842cf0.zip |
am dc738781: Merge "Improve file error reporting + new detailed error messages in UI" into gingerbread
Merge commit 'dc738781156d0f5ac1db62838d42c876d740810d' into gingerbread-plus-aosp
* commit 'dc738781156d0f5ac1db62838d42c876d740810d':
Improve file error reporting + new detailed error messages in UI
Diffstat (limited to 'src/com/android/providers/downloads/DownloadThread.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadThread.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java index d680e083..a7eb185c 100644 --- a/src/com/android/providers/downloads/DownloadThread.java +++ b/src/com/android/providers/downloads/DownloadThread.java @@ -434,9 +434,18 @@ public class DownloadThread extends Thread { } return; } catch (IOException ex) { - if (mInfo.isOnCache() - && Helpers.discardPurgeableFiles(mContext, Constants.BUFFER_SIZE)) { - continue; + if (mInfo.isOnCache()) { + if (Helpers.discardPurgeableFiles(mContext, Constants.BUFFER_SIZE)) { + continue; + } + } else if (!Helpers.isExternalMediaMounted()) { + throw new StopRequest(Downloads.Impl.STATUS_DEVICE_NOT_FOUND_ERROR); + } + + long availableBytes = + Helpers.getAvailableBytes(Helpers.getFilesystemRoot(state.mFilename)); + if (availableBytes < bytesRead) { + throw new StopRequest(Downloads.Impl.STATUS_INSUFFICIENT_SPACE_ERROR, ex); } throw new StopRequest(Downloads.Impl.STATUS_FILE_ERROR, ex); } |