summaryrefslogtreecommitdiff
path: root/src/de
diff options
context:
space:
mode:
Diffstat (limited to 'src/de')
-rw-r--r--src/de/danoeh/antennapod/asynctask/DownloadStatus.java12
-rw-r--r--src/de/danoeh/antennapod/service/download/DownloadService.java9
-rw-r--r--src/de/danoeh/antennapod/service/download/Downloader.java18
-rw-r--r--src/de/danoeh/antennapod/service/download/HttpDownloader.java2
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 {