Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/news-android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNils Griebner <nils@nils-griebner.de>2018-06-16 01:22:19 +0300
committerNils Griebner <nils@nils-griebner.de>2018-06-16 01:22:19 +0300
commit421cb81799986daf8c2f8f08438cc09098c7bcc9 (patch)
tree29d142614fedde8d218e7557566d42e38e46f57d /News-Android-App
parentf04586d27efefd8e36fa5b0e8f4e3de234d8e568 (diff)
Add filter queries to search in view
Diffstat (limited to 'News-Android-App')
-rw-r--r--News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java27
1 files changed, 26 insertions, 1 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 bc926196..37e702ad 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
@@ -18,6 +18,7 @@ import java.util.List;
import de.greenrobot.dao.query.LazyList;
import de.greenrobot.dao.query.WhereCondition;
import de.luhmer.owncloudnewsreader.Constants;
+import de.luhmer.owncloudnewsreader.database.model.CurrentRssItemView;
import de.luhmer.owncloudnewsreader.database.model.CurrentRssItemViewDao;
import de.luhmer.owncloudnewsreader.database.model.DaoSession;
import de.luhmer.owncloudnewsreader.database.model.Feed;
@@ -486,6 +487,19 @@ public class DatabaseConnectionOrm {
return buildSQL;
}
+ public String getAllItemsIdsForFeedSQLFilteredByTitle(final long feedId, boolean onlyUnread, boolean onlyStarredItems, SORT_DIRECTION sortDirection, final String searchString) {
+ String buildSQL = getAllItemsIdsForFeedSQL(feedId, onlyUnread, onlyStarredItems, sortDirection);
+ return new StringBuilder(
+ buildSQL).insert(buildSQL.indexOf("ORDER"), " AND " + RssItemDao.Properties.Title.columnName + " LIKE \"%" + searchString + "%\" ").toString();
+ }
+
+ public String getAllItemsIdsForFeedSQLFilteredByBodySQL(final long feedId, boolean onlyUnread, boolean onlyStarredItems, SORT_DIRECTION sortDirection, final String searchString) {
+ String buildSQL = getAllItemsIdsForFeedSQL(feedId, onlyUnread, onlyStarredItems, sortDirection);
+ return new StringBuilder(buildSQL).insert(
+ buildSQL.indexOf("ORDER"), " AND " + RssItemDao.Properties.Body.columnName + " LIKE \"%" + searchString + "%\" ").toString();
+
+ }
+
public Long getLowestItemIdByFolder(Long id_folder) {
WhereCondition whereCondition = new WhereCondition.StringCondition(RssItemDao.Properties.FeedId.columnName + " IN " +
@@ -529,6 +543,18 @@ public class DatabaseConnectionOrm {
return buildSQL;
}
+ public String getAllItemsIdsForFolderSQLFilteredByTitle(final long ID_FOLDER, final boolean onlyUnread, final SORT_DIRECTION sortDirection, final String searchString) {
+ String buildSQL = getAllItemsIdsForFolderSQL(ID_FOLDER, onlyUnread, sortDirection);
+ return new StringBuilder(
+ buildSQL).insert(buildSQL.indexOf("ORDER"), " AND " + RssItemDao.Properties.Title.columnName + " LIKE \"%" + searchString + "%\" ").toString();
+ }
+
+ public String getAllItemsIdsForFolderSQLFilteredByBody(final long ID_FOLDER, final boolean onlyUnread, final SORT_DIRECTION sortDirection, final String searchString) {
+ String buildSQL = getAllItemsIdsForFolderSQL(ID_FOLDER, onlyUnread, sortDirection);
+ return new StringBuilder(
+ buildSQL).insert(buildSQL.indexOf("ORDER"), " AND " + RssItemDao.Properties.Title.columnName + " LIKE \"%" + searchString + "%\" ").toString();
+ }
+
public void insertIntoRssCurrentViewTable(String SQL_SELECT) {
StopWatch sw = new StopWatch();
sw.start();
@@ -776,7 +802,6 @@ public class DatabaseConnectionOrm {
}
-
public static String join(Collection<?> col, String delim) {
StringBuilder sb = new StringBuilder();
Iterator<?> iter = col.iterator();