package com.gettingmobile.goodnews.itemlist;
import android.database.sqlite.SQLiteDatabase;
import com.gettingmobile.goodnews.Application;
import com.gettingmobile.google.reader.ElementId;
import com.gettingmobile.google.reader.db.ItemCursor;
import com.gettingmobile.google.reader.db.ItemDatabaseAdapter;
import com.gettingmobile.google.reader.db.SortOrder;
abstract class AbstractItemListProvider implements ItemListProvider {
protected static final ItemDatabaseAdapter ITEM_ADAPTER = new ItemDatabaseAdapter();
protected final Application app;
protected final ElementId listId;
protected final String title;
protected AbstractItemListProvider(Application app, ElementId listId, String title) {
this.app = app;
this.listId = listId;
this.title = title;
}
protected ItemCursor readItemsByKeys(SQLiteDatabase db, long[] itemKeys, boolean groupByFeeds, SortOrder sortOrder) {
return ITEM_ADAPTER.cursorByKeys(db, itemKeys, groupByFeeds, sortOrder);
}
protected abstract ItemCursor readItems(SQLiteDatabase db, boolean groupByFeeds, boolean hideRead, SortOrder sortOrder);
@Override
public ItemCursor readListItems(SQLiteDatabase db, boolean groupByFeeds, boolean hideRead, SortOrder sortOrder) {
return readItems(db, groupByFeeds, hideRead, sortOrder);
}
@Override
public ItemCursor readListItemsByKeys(SQLiteDatabase db, long[] itemKeys, boolean groupByFeeds, SortOrder sortOrder) {
return readItemsByKeys(db, itemKeys, groupByFeeds, sortOrder);
}
}