Android Open Source - RabbitEars Process Feed Items Task






From Project

Back to project page RabbitEars.

License

The source code is released under:

MIT License

If you think the Android project RabbitEars listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.fbs.rabbitears.tasks;
//  w w w.  j a  v a2 s . com
import android.os.AsyncTask;

import com.fbs.rabbitears.events.ItemProcessEvent;
import com.fbs.rabbitears.helpers.ModelHelper;
import com.fbs.rabbitears.models.Feed;
import com.fbs.rabbitears.models.FeedItem;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import de.greenrobot.event.EventBus;

/**
 * Process Feed Items Async
 */
public class ProcessFeedItemsTask extends AsyncTask<String, Void, List<FeedItem>>
{
    private Feed origin;

    /**
     * Constructor
     * @param origin Feed associative parent of images
     */
    public ProcessFeedItemsTask(Feed origin)
    {
        this.origin = origin;
    }

    /**
     * Download image in background
     * @param xmlStrings String... downloaded xml to process
     * @return List of FeedItem items from xml and database
     */
    @Override
    protected List<FeedItem> doInBackground(String... xmlStrings)
    {
        List<FeedItem> items = new ArrayList<FeedItem>();

        for (String xml : xmlStrings)
        {
            try
            {
                items.addAll(origin.getItems());

                items.addAll(Arrays.asList(ModelHelper.feedItemsFromXml(origin, xml)));
            }
            catch (Exception e)
            {
                EventBus.getDefault().post(new ItemProcessEvent(e));
            }
        }

        return items;
    }

    /**
     * Post any data on task complete
     * @param items List of FeedItem database and cached items
     */
    @Override
    protected void onPostExecute(List<FeedItem> items)
    {
        super.onPostExecute(items);

        EventBus.getDefault().post(new ItemProcessEvent(items));
    }
}




Java Source Code List

com.fbs.rabbitears.ApplicationTest.java
com.fbs.rabbitears.Config.java
com.fbs.rabbitears.RabbitEars.java
com.fbs.rabbitears.activities.BaseActivity.java
com.fbs.rabbitears.activities.FeedLister.java
com.fbs.rabbitears.activities.ItemLister.java
com.fbs.rabbitears.activities.ItemStreamer.java
com.fbs.rabbitears.activities.ItemViewer.java
com.fbs.rabbitears.activities.Settings.java
com.fbs.rabbitears.adapters.FeedArrayAdapter.java
com.fbs.rabbitears.adapters.FeedItemArrayAdapter.java
com.fbs.rabbitears.contracts.feed.Author.java
com.fbs.rabbitears.contracts.feed.Content.java
com.fbs.rabbitears.contracts.feed.Entry.java
com.fbs.rabbitears.contracts.feed.Feed.java
com.fbs.rabbitears.contracts.feed.Link.java
com.fbs.rabbitears.contracts.rss.Category.java
com.fbs.rabbitears.contracts.rss.Channel.java
com.fbs.rabbitears.contracts.rss.Enclosure.java
com.fbs.rabbitears.contracts.rss.Guid.java
com.fbs.rabbitears.contracts.rss.Image.java
com.fbs.rabbitears.contracts.rss.Item.java
com.fbs.rabbitears.contracts.rss.Rss.java
com.fbs.rabbitears.events.Event.java
com.fbs.rabbitears.events.FeedDownloadEvent.java
com.fbs.rabbitears.events.ItemProcessEvent.java
com.fbs.rabbitears.fragments.AddFeedDialog.java
com.fbs.rabbitears.fragments.BaseDialogFragment.java
com.fbs.rabbitears.helpers.DeserializationHelper.java
com.fbs.rabbitears.helpers.FileHelper.java
com.fbs.rabbitears.helpers.ModelHelper.java
com.fbs.rabbitears.helpers.ViewHelper.java
com.fbs.rabbitears.models.FeedItem.java
com.fbs.rabbitears.models.Feed.java
com.fbs.rabbitears.models.ItemMedia.java
com.fbs.rabbitears.tasks.DownloadFeedImageTask.java
com.fbs.rabbitears.tasks.DownloadFeedTask.java
com.fbs.rabbitears.tasks.ProcessFeedItemsTask.java
com.fbs.rabbitears.utils.RssParser.java
com.fbs.rabbitears.utils.Size.java
com.fbs.rabbitears.views.MediaStreamer.java