diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/de/danoeh/antennapod/feed/FeedItem.java | 21 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/feed/FeedMedia.java | 8 | ||||
-rw-r--r-- | src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java | 32 |
3 files changed, 36 insertions, 25 deletions
diff --git a/src/de/danoeh/antennapod/feed/FeedItem.java b/src/de/danoeh/antennapod/feed/FeedItem.java index 60bfdc73c..a80460ece 100644 --- a/src/de/danoeh/antennapod/feed/FeedItem.java +++ b/src/de/danoeh/antennapod/feed/FeedItem.java @@ -48,6 +48,19 @@ public class FeedItem extends FeedComponent implements this.read = true; } + /** + * This constructor should be used for creating test objects. + * */ + public FeedItem(long id, String title, String itemIdentifier, String link, Date pubDate, boolean read, Feed feed) { + this.id = id; + this.title = title; + this.itemIdentifier = itemIdentifier; + this.link = link; + this.pubDate = (pubDate != null) ? (Date) pubDate.clone() : null; + this.read = read; + this.feed = feed; + } + public void updateFromOther(FeedItem other) { super.updateFromOther(other); if (other.title != null) { @@ -142,8 +155,16 @@ public class FeedItem extends FeedComponent implements return media; } + /** + * Sets the media object of this FeedItem. If the given + * FeedMedia object is not null, it's 'item'-attribute value + * will also be set to this item. + * */ public void setMedia(FeedMedia media) { this.media = media; + if (media != null && media.getItem() != this) { + media.setItem(this); + } } public Feed getFeed() { diff --git a/src/de/danoeh/antennapod/feed/FeedMedia.java b/src/de/danoeh/antennapod/feed/FeedMedia.java index 55b0f81ef..492867983 100644 --- a/src/de/danoeh/antennapod/feed/FeedMedia.java +++ b/src/de/danoeh/antennapod/feed/FeedMedia.java @@ -165,8 +165,16 @@ public class FeedMedia extends FeedFile implements Playable { return item; } + /** + * Sets the item object of this FeedMedia. If the given + * FeedItem object is not null, it's 'media'-attribute value + * will also be set to this media object. + * */ public void setItem(FeedItem item) { this.item = item; + if (item != null && item.getMedia() != this) { + item.setMedia(this); + } } public Date getPlaybackCompletionDate() { diff --git a/src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java b/src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java index 1c20d5342..cbd783bcd 100644 --- a/src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java +++ b/src/instrumentationTest/de/test/antennapod/storage/DBWriterTest.java @@ -59,10 +59,7 @@ public class DBWriterTest extends InstrumentationTestCase { Feed feed = new Feed("url", new Date(), "title"); List<FeedItem> items = new ArrayList<FeedItem>(); feed.setItems(items); - FeedItem item = new FeedItem(); - item.setTitle("title"); - item.setPubDate(new Date()); - item.setFeed(feed); + FeedItem item = new FeedItem(0, "Item", "Item", "url", new Date(), true, feed); FeedMedia media = new FeedMedia(0, item, 1, 1, 1, "mime_type", dest.getAbsolutePath(), "download_url", true, null); item.setMedia(media); @@ -101,10 +98,7 @@ public class DBWriterTest extends InstrumentationTestCase { List<File> itemFiles = new ArrayList<File>(); // create items with downloaded media files for (int i = 0; i < 10; i++) { - FeedItem item = new FeedItem(); - item.setTitle("Item " + i); - item.setPubDate(new Date(System.currentTimeMillis())); - item.setFeed(feed); + FeedItem item = new FeedItem(0, "Item " + i, "Item" + i, "url", new Date(), true, feed); feed.getItems().add(item); File enc = new File(destFolder, "file " + i); @@ -165,16 +159,13 @@ public class DBWriterTest extends InstrumentationTestCase { List<File> itemFiles = new ArrayList<File>(); // create items with downloaded media files for (int i = 0; i < 10; i++) { - FeedItem item = new FeedItem(); - item.setTitle("Item " + i); - item.setPubDate(new Date(System.currentTimeMillis())); - item.setFeed(feed); + FeedItem item = new FeedItem(0, "Item " + i, "Item" + i, "url", new Date(), true, feed); feed.getItems().add(item); File enc = new File(destFolder, "file " + i); assertTrue(enc.createNewFile()); - itemFiles.add(enc); + itemFiles.add(enc); FeedMedia media = new FeedMedia(0, item, 1, 1, 1, "mime_type", enc.getAbsolutePath(), "download_url", true, null); item.setMedia(media); } @@ -265,10 +256,7 @@ public class DBWriterTest extends InstrumentationTestCase { // create items for (int i = 0; i < 10; i++) { - FeedItem item = new FeedItem(); - item.setTitle("Item " + i); - item.setPubDate(new Date(System.currentTimeMillis())); - item.setFeed(feed); + FeedItem item = new FeedItem(0, "Item " + i, "Item" + i, "url", new Date(), true, feed); feed.getItems().add(item); } @@ -320,10 +308,7 @@ public class DBWriterTest extends InstrumentationTestCase { List<File> itemFiles = new ArrayList<File>(); // create items with downloaded media files for (int i = 0; i < 10; i++) { - FeedItem item = new FeedItem(); - item.setTitle("Item " + i); - item.setPubDate(new Date(System.currentTimeMillis())); - item.setFeed(feed); + FeedItem item = new FeedItem(0, "Item " + i, "Item" + i, "url", new Date(), true, feed); feed.getItems().add(item); File enc = new File(destFolder, "file " + i); @@ -395,10 +380,7 @@ public class DBWriterTest extends InstrumentationTestCase { List<File> itemFiles = new ArrayList<File>(); // create items with downloaded media files for (int i = 0; i < 10; i++) { - FeedItem item = new FeedItem(); - item.setTitle("Item " + i); - item.setPubDate(new Date(System.currentTimeMillis())); - item.setFeed(feed); + FeedItem item = new FeedItem(0, "Item " + i, "Item" + i, "url", new Date(), true, feed); feed.getItems().add(item); File enc = new File(destFolder, "file " + i); |