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.SortOrder;
import com.gettingmobile.google.reader.db.TagDatabaseAdapter;
abstract class TagItemsListProvider extends AbstractItemListProvider {
private final static TagDatabaseAdapter tagAdapter = new TagDatabaseAdapter();
private long listKey;
public TagItemsListProvider(Application app, ElementId listId, long listKey, String title) {
super(app, listId, title);
this.listKey = listKey;
}
protected long getListKey(SQLiteDatabase db) {
if (listKey <= 0) {
listKey = tagAdapter.readKeyById(db, listId);
}
return listKey;
}
@Override
public String getKeywords() {
return title;
}
@Override
public ItemCursor readItems(SQLiteDatabase db, boolean groupByFeeds, boolean hideRead, SortOrder sortOrder) {
return readItemsByTagKey(db, getListKey(db), groupByFeeds, hideRead, sortOrder);
}
protected abstract ItemCursor readItemsByTagKey(SQLiteDatabase db, long tagKey, boolean groupByFeeds, boolean hideRead, SortOrder sortOrder);
}