diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-07-02 11:43:31 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-07-02 11:43:31 +0200 |
commit | 704e9749402e72a01896241e5b675b1bae65d91f (patch) | |
tree | 98c9133c9714b30e9dada784d7e777e8d97eb447 /src/de | |
parent | 3b4bf9374a161e08ffc1104ab64f7dc9813614b5 (diff) | |
download | AntennaPod-704e9749402e72a01896241e5b675b1bae65d91f.zip |
Downloadstatus entries for feeds are now created correctly
Diffstat (limited to 'src/de')
-rw-r--r-- | src/de/podfetcher/feed/FeedManager.java | 18 | ||||
-rw-r--r-- | src/de/podfetcher/service/DownloadService.java | 5 |
2 files changed, 8 insertions, 15 deletions
diff --git a/src/de/podfetcher/feed/FeedManager.java b/src/de/podfetcher/feed/FeedManager.java index 324bff5e7..ecf7990cf 100644 --- a/src/de/podfetcher/feed/FeedManager.java +++ b/src/de/podfetcher/feed/FeedManager.java @@ -233,18 +233,9 @@ public class FeedManager { adapter.close(); } - /* - * TODO Decide if still useful - * - * public void addFeedItem(Context context, FeedItem item) { PodDBAdapter - * adapter = new PodDBAdapter(context); // Search list for feeditem Feed - * feed = item.getFeed(); FeedItem foundItem = searchFeedItemByLink(feed, - * item.getLink()); if (foundItem != null) { // Update Information item.id = - * foundItem.id; foundItem = item; item.setRead(foundItem.isRead()); - * adapter.setFeedItem(item); } else { feed.getItems().add(item); item.id = - * adapter.setFeedItem(item); } } - */ - public void updateFeed(Context context, final Feed newFeed) { + /** Updates an existing feed or adds it as a new one if it doesn't exist. + * @return The saved Feed with a database ID*/ + public Feed updateFeed(Context context, final Feed newFeed) { // Look up feed in the feedslist final Feed savedFeed = searchFeedByLink(newFeed.getLink()); if (savedFeed == null) { @@ -254,6 +245,7 @@ public class FeedManager { // Add a new Feed markItemRead(context, newFeed.getItems().get(0), false); addNewFeed(context, newFeed); + return newFeed; } else { Log.d(TAG, "Feed with title " + newFeed.getTitle() + " already exists. Syncing new with existing one."); @@ -271,7 +263,7 @@ public class FeedManager { } savedFeed.setLastUpdate(newFeed.getLastUpdate()); setFeed(context, savedFeed); - + return savedFeed; } } diff --git a/src/de/podfetcher/service/DownloadService.java b/src/de/podfetcher/service/DownloadService.java index 3fb81c50a..5af129663 100644 --- a/src/de/podfetcher/service/DownloadService.java +++ b/src/de/podfetcher/service/DownloadService.java @@ -277,6 +277,7 @@ public class DownloadService extends Service { } public void run() { + Feed savedFeed = null; long imageId = 0; boolean hasImage = false; long downloadId = feed.getDownloadId(); @@ -298,7 +299,7 @@ public class DownloadService extends Service { feed.setDownloadId(0); // Save information of feed in DB - manager.updateFeed(service, feed); + savedFeed = manager.updateFeed(service, feed); } catch (SAXException e) { successful = false; e.printStackTrace(); @@ -319,7 +320,7 @@ public class DownloadService extends Service { requester.removeDownload(feed); cleanup(); - long statusId = manager.addDownloadStatus(service, new DownloadStatus(feed, reason, successful)); + long statusId = manager.addDownloadStatus(service, new DownloadStatus(savedFeed, reason, successful)); sendDownloadHandledIntent(downloadId, statusId, hasImage, imageId); queryDownloads(); } |