summaryrefslogtreecommitdiff
path: root/src/de
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-07-02 11:43:31 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-07-02 11:43:31 +0200
commit704e9749402e72a01896241e5b675b1bae65d91f (patch)
tree98c9133c9714b30e9dada784d7e777e8d97eb447 /src/de
parent3b4bf9374a161e08ffc1104ab64f7dc9813614b5 (diff)
downloadAntennaPod-704e9749402e72a01896241e5b675b1bae65d91f.zip
Downloadstatus entries for feeds are now created correctly
Diffstat (limited to 'src/de')
-rw-r--r--src/de/podfetcher/feed/FeedManager.java18
-rw-r--r--src/de/podfetcher/service/DownloadService.java5
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();
}