diff options
Diffstat (limited to 'src/de/danoeh')
4 files changed, 26 insertions, 15 deletions
diff --git a/src/de/danoeh/antennapod/asynctask/DownloadStatus.java b/src/de/danoeh/antennapod/asynctask/DownloadStatus.java index cede8c71f..e9225d33b 100644 --- a/src/de/danoeh/antennapod/asynctask/DownloadStatus.java +++ b/src/de/danoeh/antennapod/asynctask/DownloadStatus.java @@ -83,6 +83,18 @@ public class DownloadStatus { new Date(), reasonDetailed); } + @Override + public String toString() { + return "DownloadStatus [id=" + id + ", title=" + title + ", reason=" + + reason + ", reasonDetailed=" + reasonDetailed + + ", successful=" + successful + ", completionDate=" + + completionDate + ", feedfile=" + feedfile + ", feedfileType=" + + feedfileType + ", progressPercent=" + progressPercent + + ", soFar=" + soFar + ", size=" + size + ", statusMsg=" + + statusMsg + ", done=" + done + ", cancelled=" + cancelled + + "]"; + } + public FeedFile getFeedFile() { return feedfile; } diff --git a/src/de/danoeh/antennapod/service/download/DownloadService.java b/src/de/danoeh/antennapod/service/download/DownloadService.java index d0e9e03ff..3f1c4dfd8 100644 --- a/src/de/danoeh/antennapod/service/download/DownloadService.java +++ b/src/de/danoeh/antennapod/service/download/DownloadService.java @@ -311,8 +311,13 @@ public class DownloadService extends Service { return new HttpDownloader(new DownloaderCallback() { @Override - public void onDownloadCompleted(Downloader downloader) { - DownloadService.this.onDownloadCompleted(downloader); + public void onDownloadCompleted(final Downloader downloader) { + handler.post(new Runnable() { + + @Override + public void run() { + DownloadService.this.onDownloadCompleted(downloader); + }}); } }, status); } diff --git a/src/de/danoeh/antennapod/service/download/Downloader.java b/src/de/danoeh/antennapod/service/download/Downloader.java index 9eb336e5c..70727879a 100644 --- a/src/de/danoeh/antennapod/service/download/Downloader.java +++ b/src/de/danoeh/antennapod/service/download/Downloader.java @@ -7,22 +7,21 @@ import de.danoeh.antennapod.asynctask.DownloadStatus; /** Downloads files */ public abstract class Downloader extends Thread { private static final String TAG = "Downloader"; - private Handler handler; private DownloaderCallback downloaderCallback; protected boolean finished; - + protected volatile boolean cancelled; protected volatile DownloadStatus status; - public Downloader(DownloaderCallback downloaderCallback, DownloadStatus status) { + public Downloader(DownloaderCallback downloaderCallback, + DownloadStatus status) { super(); this.downloaderCallback = downloaderCallback; this.status = status; this.status.setStatusMsg(R.string.download_pending); this.cancelled = false; - handler = new Handler(); } /** @@ -32,14 +31,7 @@ public abstract class Downloader extends Thread { protected void finish() { if (!finished) { finished = true; - handler.post(new Runnable() { - - @Override - public void run() { - downloaderCallback.onDownloadCompleted(Downloader.this); - } - - }); + downloaderCallback.onDownloadCompleted(this); } } @@ -54,7 +46,7 @@ public abstract class Downloader extends Thread { public DownloadStatus getStatus() { return status; } - + public void cancel() { cancelled = true; } diff --git a/src/de/danoeh/antennapod/service/download/HttpDownloader.java b/src/de/danoeh/antennapod/service/download/HttpDownloader.java index e927c8296..fb51be032 100644 --- a/src/de/danoeh/antennapod/service/download/HttpDownloader.java +++ b/src/de/danoeh/antennapod/service/download/HttpDownloader.java @@ -52,6 +52,7 @@ public class HttpDownloader extends Downloader { try { responseCode = connection.getResponseCode(); } catch (IOException e) { + e.printStackTrace(); if (AppConfig.DEBUG) Log.d(TAG, "Failed to establish connection with 'follow redirects. Disabling 'follow redirects'"); @@ -146,6 +147,7 @@ public class HttpDownloader extends Downloader { onFail(DownloadError.ERROR_NOT_ENOUGH_SPACE, null); } } else { + Log.w(TAG, "File already exists"); onFail(DownloadError.ERROR_FILE_EXISTS, null); } } else { |