diff options
Diffstat (limited to 'src/de/danoeh/antennapod/service/download/Downloader.java')
-rw-r--r-- | src/de/danoeh/antennapod/service/download/Downloader.java | 18 |
1 files changed, 5 insertions, 13 deletions
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; } |