diff options
author | Daniel Oeh <daniel@daniel-pc.(none)> | 2011-12-23 20:47:48 +0100 |
---|---|---|
committer | Daniel Oeh <daniel@daniel-pc.(none)> | 2011-12-23 20:47:48 +0100 |
commit | b0b069a20c808319331fe550854eee45614d2797 (patch) | |
tree | afec82022b498f984b4e48ea15952bd2a71c97d4 /src/de/podfetcher/storage/DownloadReceiver.java | |
parent | c9283f09dced6f156e13675ef4c13ebeb20cb9e5 (diff) | |
download | AntennaPod-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.java | 24 |
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); + } + } |