diff options
Diffstat (limited to 'News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java')
-rw-r--r-- | News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java index 987be4d1..a0d28db4 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java @@ -17,6 +17,7 @@ import javax.inject.Inject; import javax.inject.Named; import de.greenrobot.dao.query.LazyList; +import de.greenrobot.dao.query.QueryBuilder; import de.greenrobot.dao.query.WhereCondition; import de.luhmer.owncloudnewsreader.Constants; import de.luhmer.owncloudnewsreader.NewsReaderApplication; @@ -353,8 +354,25 @@ public class DatabaseConnectionOrm { return daoSession.getRssItemDao().queryBuilder().where(RssItemDao.Properties.Read_temp.eq(false)).limit(100).orderDesc(RssItemDao.Properties.PubDate).listLazy(); } - public LazyList<RssItem> getAllUnreadRssItemsForNotification() { - return daoSession.getRssItemDao().queryBuilder().where(RssItemDao.Properties.Read_temp.eq(false)).limit(6).orderDesc(RssItemDao.Properties.PubDate).listLazy(); + public LazyList<RssItem> getAllUnreadRssItemsForNotification(SORT_DIRECTION sortDirection) { + QueryBuilder<RssItem> qb = daoSession.getRssItemDao().queryBuilder().where(RssItemDao.Properties.Read_temp.eq(false)).limit(6); + if (sortDirection == SORT_DIRECTION.asc) { + qb = qb.orderAsc(RssItemDao.Properties.PubDate); + } else { + qb = qb.orderDesc(RssItemDao.Properties.PubDate); + } + return qb.listLazy(); + } + + public void markAllItemsAsRead() { + StopWatch sw = new StopWatch(); + sw.start(); + + String sql = "UPDATE " + RssItemDao.TABLENAME + " SET " + RssItemDao.Properties.Read_temp.columnName + " = 1 WHERE " + RssItemDao.Properties.Read_temp.columnName + " = 0"; + daoSession.getDatabase().execSQL(sql); + + sw.stop(); + Log.v(TAG, "Time needed for marking all unread items as read: " + sw.toString()); } public LazyList<RssItem> getAllUnreadRssItemsForDownloadWebPageService() { |