Search in sources :

Example 76 with Feed

use of de.danoeh.antennapod.core.feed.Feed in project AntennaPod by AntennaPod.

the class DBReaderTest method testLoadChaptersOfFeedItemNoChapters.

public void testLoadChaptersOfFeedItemNoChapters() throws Exception {
    List<Feed> feeds = saveFeedlist(1, 3, false, false, 0);
    saveFeedlist(1, 3, false, true, 3);
    for (Feed feed : feeds) {
        for (FeedItem item : feed.getItems()) {
            assertFalse(item.hasChapters());
            DBReader.loadChaptersOfFeedItem(item);
            assertFalse(item.hasChapters());
            assertNull(item.getChapters());
        }
    }
}
Also used : FeedItem(de.danoeh.antennapod.core.feed.FeedItem) Feed(de.danoeh.antennapod.core.feed.Feed)

Example 77 with Feed

use of de.danoeh.antennapod.core.feed.Feed in project AntennaPod by AntennaPod.

the class DBReaderTest method testGetPlaybackHistory.

public void testGetPlaybackHistory() {
    final int numItems = (DBReader.PLAYBACK_HISTORY_SIZE + 1) * 2;
    final int playedItems = DBReader.PLAYBACK_HISTORY_SIZE + 1;
    final int numReturnedItems = Math.min(playedItems, DBReader.PLAYBACK_HISTORY_SIZE);
    final int numFeeds = 1;
    Feed feed = DBTestUtils.saveFeedlist(numFeeds, numItems, true).get(0);
    long[] ids = new long[playedItems];
    PodDBAdapter adapter = PodDBAdapter.getInstance();
    adapter.open();
    for (int i = 0; i < playedItems; i++) {
        FeedMedia m = feed.getItems().get(i).getMedia();
        m.setPlaybackCompletionDate(new Date(i + 1));
        adapter.setFeedMediaPlaybackCompletionDate(m);
        ids[ids.length - 1 - i] = m.getItem().getId();
    }
    adapter.close();
    List<FeedItem> saved = DBReader.getPlaybackHistory();
    assertNotNull(saved);
    assertEquals("Wrong size: ", numReturnedItems, saved.size());
    for (int i = 0; i < numReturnedItems; i++) {
        FeedItem item = saved.get(i);
        assertNotNull(item.getMedia().getPlaybackCompletionDate());
        assertEquals("Wrong sort order: ", item.getId(), ids[i]);
    }
}
Also used : PodDBAdapter(de.danoeh.antennapod.core.storage.PodDBAdapter) FeedItem(de.danoeh.antennapod.core.feed.FeedItem) FeedMedia(de.danoeh.antennapod.core.feed.FeedMedia) Date(java.util.Date) Feed(de.danoeh.antennapod.core.feed.Feed)

Example 78 with Feed

use of de.danoeh.antennapod.core.feed.Feed in project AntennaPod by AntennaPod.

the class DBReaderTest method testLoadChaptersOfFeedItemWithChapters.

public void testLoadChaptersOfFeedItemWithChapters() throws Exception {
    final int NUM_CHAPTERS = 3;
    DBTestUtils.saveFeedlist(1, 3, false, false, 0);
    List<Feed> feeds = saveFeedlist(1, 3, false, true, NUM_CHAPTERS);
    for (Feed feed : feeds) {
        for (FeedItem item : feed.getItems()) {
            assertTrue(item.hasChapters());
            DBReader.loadChaptersOfFeedItem(item);
            assertTrue(item.hasChapters());
            assertNotNull(item.getChapters());
            assertEquals(NUM_CHAPTERS, item.getChapters().size());
        }
    }
}
Also used : FeedItem(de.danoeh.antennapod.core.feed.FeedItem) Feed(de.danoeh.antennapod.core.feed.Feed)

Example 79 with Feed

use of de.danoeh.antennapod.core.feed.Feed in project AntennaPod by AntennaPod.

the class DBReaderTest method saveUnreadItems.

private List<FeedItem> saveUnreadItems(int numItems) {
    if (numItems <= 0) {
        throw new IllegalArgumentException("numItems<=0");
    }
    List<Feed> feeds = saveFeedlist(numItems, numItems, true);
    List<FeedItem> items = new ArrayList<>();
    for (Feed f : feeds) {
        items.addAll(f.getItems());
    }
    List<FeedItem> unread = new ArrayList<>();
    Random random = new Random();
    while (unread.size() < numItems) {
        int i = random.nextInt(numItems);
        if (!unread.contains(items.get(i))) {
            FeedItem item = items.get(i);
            item.setPlayed(false);
            unread.add(item);
        }
    }
    PodDBAdapter adapter = PodDBAdapter.getInstance();
    adapter.open();
    adapter.setFeedItemlist(unread);
    adapter.close();
    return unread;
}
Also used : PodDBAdapter(de.danoeh.antennapod.core.storage.PodDBAdapter) FeedItem(de.danoeh.antennapod.core.feed.FeedItem) Random(java.util.Random) ArrayList(java.util.ArrayList) Feed(de.danoeh.antennapod.core.feed.Feed)

Example 80 with Feed

use of de.danoeh.antennapod.core.feed.Feed in project AntennaPod by AntennaPod.

the class DBReaderTest method testGetFeedItemList.

public void testGetFeedItemList() {
    final int numFeeds = 1;
    final int numItems = 10;
    Feed feed = saveFeedlist(numFeeds, numItems, false).get(0);
    List<FeedItem> items = feed.getItems();
    feed.setItems(null);
    List<FeedItem> savedItems = DBReader.getFeedItemList(feed);
    assertNotNull(savedItems);
    assertTrue(savedItems.size() == items.size());
    for (int i = 0; i < savedItems.size(); i++) {
        assertTrue(items.get(i).getId() == savedItems.get(i).getId());
    }
}
Also used : FeedItem(de.danoeh.antennapod.core.feed.FeedItem) Feed(de.danoeh.antennapod.core.feed.Feed)

Aggregations

Feed (de.danoeh.antennapod.core.feed.Feed)95 FeedItem (de.danoeh.antennapod.core.feed.FeedItem)55 PodDBAdapter (de.danoeh.antennapod.core.storage.PodDBAdapter)32 ArrayList (java.util.ArrayList)30 Date (java.util.Date)30 FeedMedia (de.danoeh.antennapod.core.feed.FeedMedia)21 File (java.io.File)20 Cursor (android.database.Cursor)16 FeedImage (de.danoeh.antennapod.core.feed.FeedImage)14 Context (android.content.Context)13 FlakyTest (android.test.FlakyTest)9 DialogInterface (android.content.DialogInterface)8 Intent (android.content.Intent)8 LayoutInflater (android.view.LayoutInflater)7 AdapterView (android.widget.AdapterView)7 ConfirmationDialog (de.danoeh.antennapod.core.dialog.ConfirmationDialog)6 FeedPreferences (de.danoeh.antennapod.core.feed.FeedPreferences)6 DownloadRequestException (de.danoeh.antennapod.core.storage.DownloadRequestException)6 Log (android.util.Log)4 View (android.view.View)4