diff options
author | Vasu Nori <vnori@google.com> | 2011-02-08 17:16:41 -0800 |
---|---|---|
committer | Vasu Nori <vnori@google.com> | 2011-02-08 18:10:11 -0800 |
commit | 789745f667c65661d82ccbd5ef49fdb132911736 (patch) | |
tree | c264e45bc316434d3af7f9915828fb45f0441e5b /src/com/android/providers/downloads/DownloadInfo.java | |
parent | 7806290088fbd6f802288021ec551ddd9469892a (diff) | |
download | android_packages_providers_DownloadProvider-789745f667c65661d82ccbd5ef49fdb132911736.tar.gz android_packages_providers_DownloadProvider-789745f667c65661d82ccbd5ef49fdb132911736.tar.bz2 android_packages_providers_DownloadProvider-789745f667c65661d82ccbd5ef49fdb132911736.zip |
bug:3435895 listen to media_mounted broadcast intent
and retry downloads that failed due to the error "sdcard media not mounted"
Change-Id: Id181b8167d331214f72679c85f18cc8b9b969e40
Diffstat (limited to 'src/com/android/providers/downloads/DownloadInfo.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadInfo.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/DownloadInfo.java b/src/com/android/providers/downloads/DownloadInfo.java index 3587dbfb..2973937e 100644 --- a/src/com/android/providers/downloads/DownloadInfo.java +++ b/src/com/android/providers/downloads/DownloadInfo.java @@ -26,6 +26,7 @@ import android.database.Cursor; import android.drm.mobile1.DrmRawContent; import android.net.ConnectivityManager; import android.net.Uri; +import android.os.Environment; import android.provider.Downloads; import android.provider.Downloads.Impl; import android.text.TextUtils; @@ -300,6 +301,15 @@ public class DownloadInfo { case Downloads.Impl.STATUS_WAITING_TO_RETRY: // download was waiting for a delayed restart return restartTime(now) <= now; + case Downloads.Impl.STATUS_DEVICE_NOT_FOUND_ERROR: + // is the media mounted? + return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); + case Downloads.Impl.STATUS_INSUFFICIENT_SPACE_ERROR: + // should check space to make sure it is worth retrying the download. + // but thats the first thing done by the thread when it retries to download + // it will fail pretty quickly if there is no space. + // so, it is not that bad to skip checking space availability here. + return true; } return false; } |