use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class SubscriptionFragment method onContextItemSelected.
@Override
public boolean onContextItemSelected(MenuItem item) {
NavDrawerData.DrawerItem drawerItem = subscriptionAdapter.getSelectedItem();
if (drawerItem == null) {
return false;
}
int itemId = item.getItemId();
if (drawerItem.type == NavDrawerData.DrawerItem.Type.TAG && itemId == R.id.rename_folder_item) {
new RenameItemDialog(getActivity(), drawerItem).show();
return true;
}
Feed feed = ((NavDrawerData.FeedDrawerItem) drawerItem).feed;
if (itemId == R.id.remove_all_new_flags_item) {
displayConfirmationDialog(R.string.remove_all_new_flags_label, R.string.remove_all_new_flags_confirmation_msg, () -> DBWriter.removeFeedNewFlag(feed.getId()));
return true;
} else if (itemId == R.id.edit_tags) {
TagSettingsDialog.newInstance(Collections.singletonList(feed.getPreferences())).show(getChildFragmentManager(), TagSettingsDialog.TAG);
return true;
} else if (itemId == R.id.rename_item) {
new RenameItemDialog(getActivity(), feed).show();
return true;
} else if (itemId == R.id.remove_feed) {
RemoveFeedDialog.show(getContext(), feed);
return true;
} else if (itemId == R.id.multi_select) {
speedDialView.setVisibility(View.VISIBLE);
return subscriptionAdapter.onContextItemSelected(item);
}
return super.onContextItemSelected(item);
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class FeedMultiSelectActionHandler method saveFeedPreferences.
private void saveFeedPreferences(Consumer<FeedPreferences> preferencesConsumer) {
for (Feed feed : selectedItems) {
preferencesConsumer.accept(feed.getPreferences());
DBWriter.setFeedPreferences(feed.getPreferences());
}
showMessage(R.plurals.updated_feeds_batch_label, selectedItems.size());
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class RssParserTest method testMediaContentMime.
@Test
public void testMediaContentMime() throws Exception {
File feedFile = FeedParserTestHelper.getFeedFile("feed-rss-testMediaContentMime.xml");
Feed feed = FeedParserTestHelper.runFeedParser(feedFile);
assertEquals("title", feed.getTitle());
assertEquals("http://example.com", feed.getLink());
assertEquals("This is the description", feed.getDescription());
assertEquals("http://example.com/payment", feed.getPaymentLinks().get(0).url);
assertNull(feed.getImageUrl());
assertEquals(1, feed.getItems().size());
FeedItem feedItem = feed.getItems().get(0);
// noinspection ConstantConditions
assertEquals(MediaType.VIDEO, feedItem.getMedia().getMediaType());
assertEquals("https://www.example.com/file.mp4", feedItem.getMedia().getDownload_url());
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class RssParserTest method testMultipleFundingTags.
@Test
public void testMultipleFundingTags() throws Exception {
File feedFile = FeedParserTestHelper.getFeedFile("feed-rss-testMultipleFundingTags.xml");
Feed feed = FeedParserTestHelper.runFeedParser(feedFile);
assertEquals(3, feed.getPaymentLinks().size());
assertEquals("Text 1", feed.getPaymentLinks().get(0).content);
assertEquals("https://example.com/funding1", feed.getPaymentLinks().get(0).url);
assertEquals("Text 2", feed.getPaymentLinks().get(1).content);
assertEquals("https://example.com/funding2", feed.getPaymentLinks().get(1).url);
assertTrue(TextUtils.isEmpty(feed.getPaymentLinks().get(2).content));
assertEquals("https://example.com/funding3", feed.getPaymentLinks().get(2).url);
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class AtomParserTest method testAtomBasic.
@Test
public void testAtomBasic() throws Exception {
File feedFile = FeedParserTestHelper.getFeedFile("feed-atom-testAtomBasic.xml");
Feed feed = FeedParserTestHelper.runFeedParser(feedFile);
assertEquals(Feed.TYPE_ATOM1, feed.getType());
assertEquals("title", feed.getTitle());
assertEquals("http://example.com/feed", feed.getFeedIdentifier());
assertEquals("http://example.com", feed.getLink());
assertEquals("This is the description", feed.getDescription());
assertEquals("http://example.com/payment", feed.getPaymentLinks().get(0).url);
assertEquals("http://example.com/picture", feed.getImageUrl());
assertEquals(10, feed.getItems().size());
for (int i = 0; i < feed.getItems().size(); i++) {
FeedItem item = feed.getItems().get(i);
assertEquals("http://example.com/item-" + i, item.getItemIdentifier());
assertEquals("item-" + i, item.getTitle());
assertNull(item.getDescription());
assertEquals("http://example.com/items/" + i, item.getLink());
assertEquals(new Date(i * 60000), item.getPubDate());
assertNull(item.getPaymentLink());
assertEquals("http://example.com/picture", item.getImageLocation());
// media
assertTrue(item.hasMedia());
FeedMedia media = item.getMedia();
// noinspection ConstantConditions
assertEquals("http://example.com/media-" + i, media.getDownload_url());
assertEquals(1024 * 1024, media.getSize());
assertEquals("audio/mp3", media.getMime_type());
// chapters
assertNull(item.getChapters());
}
}
Aggregations