diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-09-24 14:37:08 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-09-24 14:37:08 +0200 |
commit | ca9a425239f701e85a3743465d0fcaa93755632a (patch) | |
tree | 772c8b367ed8e4830f674dd559cf93b908d9e73a /src/de/danoeh/antennapod | |
parent | 08e4408717b15eb65f34fd85700ad396c8f02b1b (diff) | |
download | AntennaPod-ca9a425239f701e85a3743465d0fcaa93755632a.zip |
Download failure wasn't reported on some devices
Diffstat (limited to 'src/de/danoeh/antennapod')
-rw-r--r-- | src/de/danoeh/antennapod/service/download/HttpDownloader.java | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/de/danoeh/antennapod/service/download/HttpDownloader.java b/src/de/danoeh/antennapod/service/download/HttpDownloader.java index b2da5f31c..79bcd2f43 100644 --- a/src/de/danoeh/antennapod/service/download/HttpDownloader.java +++ b/src/de/danoeh/antennapod/service/download/HttpDownloader.java @@ -13,6 +13,8 @@ import java.net.SocketTimeoutException; import java.net.URL; import java.net.UnknownHostException; +import org.apache.commons.io.IOUtils; + import android.util.Log; import de.danoeh.antennapod.AppConfig; import de.danoeh.antennapod.R; @@ -100,17 +102,13 @@ public class HttpDownloader extends Downloader { } catch (IOException e) { e.printStackTrace(); onFail(DownloadError.ERROR_IO_ERROR, e.getMessage()); + }catch (NullPointerException e) { + // might be thrown by connection.getInputStream() + e.printStackTrace(); + onFail(DownloadError.ERROR_CONNECTION_ERROR, status.getFeedFile().getDownload_url()); } finally { - if (connection != null) { - connection.disconnect(); - } - if (out != null) { - try { - out.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } + IOUtils.close(connection); + IOUtils.closeQuietly(out); } } |