summaryrefslogtreecommitdiff
path: root/src/de/podfetcher/storage/DownloadReceiver.java
diff options
context:
space:
mode:
authorDaniel Oeh <daniel@daniel-pc.(none)>2011-12-23 20:47:48 +0100
committerDaniel Oeh <daniel@daniel-pc.(none)>2011-12-23 20:47:48 +0100
commitb0b069a20c808319331fe550854eee45614d2797 (patch)
treeafec82022b498f984b4e48ea15952bd2a71c97d4 /src/de/podfetcher/storage/DownloadReceiver.java
parentc9283f09dced6f156e13675ef4c13ebeb20cb9e5 (diff)
downloadAntennaPod-b0b069a20c808319331fe550854eee45614d2797.zip
Created Methods for handling completed Downloads
Diffstat (limited to 'src/de/podfetcher/storage/DownloadReceiver.java')
-rw-r--r--src/de/podfetcher/storage/DownloadReceiver.java24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/de/podfetcher/storage/DownloadReceiver.java b/src/de/podfetcher/storage/DownloadReceiver.java
index 1d06b51f7..872f539ed 100644
--- a/src/de/podfetcher/storage/DownloadReceiver.java
+++ b/src/de/podfetcher/storage/DownloadReceiver.java
@@ -7,15 +7,18 @@ import android.content.Context;
import android.content.Intent;
public class DownloadReceiver extends BroadcastReceiver {
+ private DownloadRequester requester;
+ private FeedManager manager;
@Override
public void onReceive(Context context, Intent intent) {
long id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0);
- DownloadRequester requester = DownloadRequester.getInstance();
+ requester = DownloadRequester.getInstance();
+ manager = FeedManager.getInstance();
Intent item_intent = requester.getItemIntent(id);
String action = item_intent.getAction();
if(action.equals(DownloadRequester.ACTION_FEED_DOWNLOAD_COMPLETED)) {
- requester.removeFeedByID(item_intent.getLongExtra(DownloadRequester.EXTRA_ITEM_ID, -1));
+ handleCompletedFeedDownload(context, intent);
} else if(action.equals(DownloadRequester.ACTION_MEDIA_DOWNLOAD_COMPLETED)) {
requester.removeMediaByID(item_intent.getLongExtra(DownloadRequester.EXTRA_ITEM_ID, -1));
} else if(action.equals(DownloadRequester.ACTION_IMAGE_DOWNLOAD_COMPLETED)) {
@@ -24,4 +27,21 @@ public class DownloadReceiver extends BroadcastReceiver {
PodcastApp.getInstance().getApplicationContext().sendBroadcast(item_intent);
}
+ /** Is called whenever a Feed is Downloaded */
+ private void handleCompletedFeedDownload(Context context, Intent intent) {
+ RSSHandler handler = new RSSHandler();
+
+ requester.removeFeedByID(item_intent.getLongExtra(DownloadRequester.EXTRA_ITEM_ID, -1));
+ // Get Feed Information
+ Feed feed = manager.getFeed(intent.getLongExtra(DownloadRequester.EXTRA_ITEM_ID, -1));
+ feed.file_url = DownloadRequester.getFeedfilePath() + DownloadRequester.getFeedfileName(feed.id);
+ feed = handler.parseFeed(feed);
+ // Download Feed Image if provided
+ if(feed.image != null) {
+ requester.downloadImage(context, feed.image);
+ }
+ // Update Information in Database
+ manager.setFeed(feed);
+ }
+
}