use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class DownloadService method enqueueAll.
private void enqueueAll(Intent intent) {
boolean initiatedByUser = intent.getBooleanExtra(EXTRA_INITIATED_BY_USER, false);
List<Feed> feeds = DBReader.getFeedList();
for (Feed feed : feeds) {
if (feed.getPreferences().getKeepUpdated()) {
DownloadRequest.Builder builder = DownloadRequestCreator.create(feed);
builder.setInitiatedByUser(initiatedByUser);
addNewRequest(builder.build());
}
}
postDownloaders();
stopServiceIfEverythingDone();
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class DownloadService method performLocalFeedRefresh.
/**
* This method MUST NOT, in any case, throw an exception.
* Otherwise, it hangs up the refresh thread pool.
*/
private void performLocalFeedRefresh(Downloader downloader, DownloadRequest request) {
try {
Feed feed = DBReader.getFeed(request.getFeedfileId());
LocalFeedUpdater.updateFeed(feed, DownloadService.this);
} catch (Exception e) {
e.printStackTrace();
}
downloadEnqueueExecutor.submit(() -> {
downloads.remove(downloader);
stopServiceIfEverythingDone();
});
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class DbCleanupTests method testPerformAutoCleanupHandleUnplayed.
@Test
public void testPerformAutoCleanupHandleUnplayed() throws IOException {
final int numItems = EPISODE_CACHE_SIZE * 2;
Feed feed = new Feed("url", null, "title");
List<FeedItem> items = new ArrayList<>();
feed.setItems(items);
List<File> files = new ArrayList<>();
populateItems(numItems, feed, items, files, FeedItem.UNPLAYED, false, false);
DBTasks.performAutoCleanup(context);
for (File file : files) {
assertTrue(file.exists());
}
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class DbCleanupTests method testPerformAutoCleanupShouldDelete.
@Test
public void testPerformAutoCleanupShouldDelete() throws IOException {
final int numItems = EPISODE_CACHE_SIZE * 2;
Feed feed = new Feed("url", null, "title");
List<FeedItem> items = new ArrayList<>();
feed.setItems(items);
List<File> files = new ArrayList<>();
populateItems(numItems, feed, items, files, FeedItem.PLAYED, false, false);
DBTasks.performAutoCleanup(context);
for (int i = 0; i < files.size(); i++) {
if (i < EPISODE_CACHE_SIZE) {
assertTrue(files.get(i).exists());
} else {
assertFalse(files.get(i).exists());
}
}
}
use of de.danoeh.antennapod.model.feed.Feed in project AntennaPod by AntennaPod.
the class DbCleanupTests method testPerformAutoCleanupShouldNotDeleteBecauseInQueue.
@Test
public void testPerformAutoCleanupShouldNotDeleteBecauseInQueue() throws IOException {
final int numItems = EPISODE_CACHE_SIZE * 2;
Feed feed = new Feed("url", null, "title");
List<FeedItem> items = new ArrayList<>();
feed.setItems(items);
List<File> files = new ArrayList<>();
populateItems(numItems, feed, items, files, FeedItem.PLAYED, true, false);
DBTasks.performAutoCleanup(context);
for (File file : files) {
assertTrue(file.exists());
}
}
Aggregations