Search in sources :

Example 91 with Feed

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

the class DBTasksTest method testUpdateFeedNewFeed.

@FlakyTest(tolerance = 3)
public void testUpdateFeedNewFeed() {
    final int NUM_ITEMS = 10;
    Feed feed = new Feed("url", null, "title");
    feed.setItems(new ArrayList<>());
    for (int i = 0; i < NUM_ITEMS; i++) {
        feed.getItems().add(new FeedItem(0, "item " + i, "id " + i, "link " + i, new Date(), FeedItem.UNPLAYED, feed));
    }
    Feed newFeed = DBTasks.updateFeed(context, feed)[0];
    assertTrue(newFeed == feed);
    assertTrue(feed.getId() != 0);
    for (FeedItem item : feed.getItems()) {
        assertFalse(item.isPlayed());
        assertTrue(item.getId() != 0);
    }
}
Also used : FeedItem(de.danoeh.antennapod.core.feed.FeedItem) Date(java.util.Date) Feed(de.danoeh.antennapod.core.feed.Feed) FlakyTest(android.test.FlakyTest)

Example 92 with Feed

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

the class DBWriterTest method testClearQueue.

public void testClearQueue() throws InterruptedException, ExecutionException, TimeoutException {
    final int NUM_ITEMS = 10;
    Feed feed = queueTestSetupMultipleItems(NUM_ITEMS);
    DBWriter.clearQueue().get(TIMEOUT, TimeUnit.SECONDS);
    PodDBAdapter adapter = PodDBAdapter.getInstance();
    adapter.open();
    Cursor cursor = adapter.getQueueIDCursor();
    assertFalse(cursor.moveToFirst());
    cursor.close();
    adapter.close();
}
Also used : PodDBAdapter(de.danoeh.antennapod.core.storage.PodDBAdapter) Cursor(android.database.Cursor) Feed(de.danoeh.antennapod.core.feed.Feed)

Example 93 with Feed

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

the class ItemlistFragment method loadData.

private Feed loadData() {
    Feed feed = DBReader.getFeed(feedID);
    DBReader.loadAdditionalFeedItemListData(feed.getItems());
    if (feed != null && feed.getItemFilter() != null) {
        FeedItemFilter filter = feed.getItemFilter();
        feed.setItems(filter.filter(feed.getItems()));
    }
    return feed;
}
Also used : FeedItemFilter(de.danoeh.antennapod.core.feed.FeedItemFilter) Feed(de.danoeh.antennapod.core.feed.Feed)

Example 94 with Feed

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

the class SPAReceiver method onReceive.

@Override
public void onReceive(Context context, Intent intent) {
    if (!TextUtils.equals(intent.getAction(), ACTION_SP_APPS_QUERY_FEEDS_REPSONSE)) {
        return;
    }
    Log.d(TAG, "Received SP_APPS_QUERY_RESPONSE");
    if (!intent.hasExtra(ACTION_SP_APPS_QUERY_FEEDS_REPSONSE_FEEDS_EXTRA)) {
        Log.e(TAG, "Received invalid SP_APPS_QUERY_RESPONSE: Contains no extra");
        return;
    }
    String[] feedUrls = intent.getStringArrayExtra(ACTION_SP_APPS_QUERY_FEEDS_REPSONSE_FEEDS_EXTRA);
    if (feedUrls == null) {
        Log.e(TAG, "Received invalid SP_APPS_QUERY_REPSONSE: extra was null");
        return;
    }
    Log.d(TAG, "Received feeds list: " + Arrays.toString(feedUrls));
    ClientConfig.initialize(context);
    for (String url : feedUrls) {
        Feed f = new Feed(url, null);
        try {
            DownloadRequester.getInstance().downloadFeed(context, f);
        } catch (DownloadRequestException e) {
            Log.e(TAG, "Error while trying to add feed " + url);
            e.printStackTrace();
        }
    }
    Toast.makeText(context, R.string.sp_apps_importing_feeds_msg, Toast.LENGTH_LONG).show();
}
Also used : DownloadRequestException(de.danoeh.antennapod.core.storage.DownloadRequestException) Feed(de.danoeh.antennapod.core.feed.Feed)

Example 95 with Feed

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

the class AllEpisodesFragment method onOptionsItemSelected.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (!super.onOptionsItemSelected(item)) {
        switch(item.getItemId()) {
            case R.id.refresh_item:
                List<Feed> feeds = ((MainActivity) getActivity()).getFeeds();
                if (feeds != null) {
                    DBTasks.refreshAllFeeds(getActivity(), feeds);
                }
                return true;
            case R.id.mark_all_read_item:
                ConfirmationDialog markAllReadConfirmationDialog = new ConfirmationDialog(getActivity(), R.string.mark_all_read_label, R.string.mark_all_read_confirmation_msg) {

                    @Override
                    public void onConfirmButtonPressed(DialogInterface dialog) {
                        dialog.dismiss();
                        DBWriter.markAllItemsRead();
                        Toast.makeText(getActivity(), R.string.mark_all_read_msg, Toast.LENGTH_SHORT).show();
                    }
                };
                markAllReadConfirmationDialog.createNewDialog().show();
                return true;
            case R.id.mark_all_seen_item:
                ConfirmationDialog markAllSeenConfirmationDialog = new ConfirmationDialog(getActivity(), R.string.mark_all_seen_label, R.string.mark_all_seen_confirmation_msg) {

                    @Override
                    public void onConfirmButtonPressed(DialogInterface dialog) {
                        dialog.dismiss();
                        DBWriter.markNewItemsSeen();
                        Toast.makeText(getActivity(), R.string.mark_all_seen_msg, Toast.LENGTH_SHORT).show();
                    }
                };
                markAllSeenConfirmationDialog.createNewDialog().show();
                return true;
            default:
                return false;
        }
    } else {
        return true;
    }
}
Also used : DialogInterface(android.content.DialogInterface) MainActivity(de.danoeh.antennapod.activity.MainActivity) Feed(de.danoeh.antennapod.core.feed.Feed) ConfirmationDialog(de.danoeh.antennapod.core.dialog.ConfirmationDialog)

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