package com.masterofcode.android.magreader.utils; import android.os.AsyncTask; import android.provider.ContactsContract; import android.util.Log; import com.masterofcode.android.magreader.db.entity.FeedItem; import com.masterofcode.android.magreader.db.entity.FeedType; import com.masterofcode.android.magreader.utils.constants.Constants; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.kroz.activerecord.ActiveRecordBase; import org.kroz.activerecord.ActiveRecordException; import org.kroz.activerecord.EntitiesHelper; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; /** * Created by IntelliJ IDEA. * User: fritz * Date: 6/16/11 * Time: 4:54 PM * To change this template use File | Settings | File Templates. */ public class FeedsListProvider { static final int FEEDS_COUNT = 3; private static FeedsListProvider ourInstance = new FeedsListProvider(); private final ArrayList<FeedType> feeds = new ArrayList<FeedType>(FEEDS_COUNT); private ActiveRecordBase mDatabase; public static FeedsListProvider getInstance(ActiveRecordBase mdb) { Log.i("feed_prov", "Instance called"); ourInstance.setDatabase(mdb); return ourInstance; } public static FeedsListProvider getInstance() throws NullPointerException { Log.i("feed_prov", "Instance called"); if (ourInstance.mDatabase != null) return ourInstance; else throw new NullPointerException(); } private FeedsListProvider() { //FeedType[] remote_feeds = new FeedType[3]; //remote_feeds[0] = new FeedType("All-inclusive", "http://pipes.yahoo.com/pipes/pipe.run?_id=4520fbd767279168c86e15359f58ff2b&_render=json", "en_EN", 1); //remote_feeds[1] = new FeedType("News", "http://pipes.yahoo.com/pipes/pipe.run?_id=4cecf00f94322d2ecd30baed68e50331&_render=json", "en_EN", 2); //remote_feeds[2] = new FeedType("Videos", "http://pipes.yahoo.com/pipes/pipe.run?_id=f7a758de82c6f7ed6d68637d25de79f9&_render=json", "en_EN", 3); } private void setDatabase(ActiveRecordBase db) { mDatabase = db; } public boolean addFeedType(FeedType feedType) { try { feeds.add(feedType); FeedType type = mDatabase.newEntity(FeedType.class); EntitiesHelper.copyFieldsWithoutID(type, feedType); type.save(); Log.i("feed_prov", "Feed is added"); } catch ( ActiveRecordException e ) { e.printStackTrace(); } return true; } public synchronized ArrayList<FeedType> getFeeds() { return feeds; } }