package fr.ydelouis.selfoss.model;
import android.content.Context;
import org.androidannotations.annotations.AfterInject;
import org.androidannotations.annotations.EBean;
import org.androidannotations.annotations.OrmLiteDao;
import org.androidannotations.annotations.RootContext;
import java.util.List;
import fr.ydelouis.selfoss.entity.Article;
import fr.ydelouis.selfoss.entity.Filter;
@EBean
public class ArticleActionHelper {
@RootContext Context context;
@OrmLiteDao(helper = DatabaseHelper.class)
protected ArticleDao articleDao;
@OrmLiteDao(helper = DatabaseHelper.class)
protected ArticleSyncActionDao articleSyncActionDao;
@AfterInject
protected void init() {
articleDao.setContext(context);
}
public void markRead(Article article) {
article.setUnread(false);
articleDao.updateAlsoCached(article);
articleSyncActionDao.markRead(article);
}
public void markRead(List<Article> articles) {
for (Article article : articles) {
markRead(article);
}
}
public void markAllRead(Filter filter) {
markRead(articleDao.queryForUnread(filter));
}
public void markUnread(Article article) {
article.setUnread(true);
articleDao.updateAlsoCached(article);
articleSyncActionDao.markUnread(article);
}
public void markUnread(List<Article> articles) {
for (Article article : articles) {
markUnread(article);
}
}
public void markStarred(Article article) {
article.setStarred(true);
articleDao.updateAlsoCached(article);
articleSyncActionDao.markStarred(article);
}
public void markStarred(List<Article> articles) {
for (Article article : articles) {
markStarred(article);
}
}
public void markUnstarred(Article article) {
article.setStarred(false);
articleDao.updateAlsoCached(article);
articleSyncActionDao.markUnstarred(article);
}
public void markUnstarred(List<Article> articles) {
for (Article article : articles) {
markUnstarred(article);
}
}
}