Improve search

This commit is contained in:
Thomas 2022-10-04 17:32:51 +02:00
parent d2f9c13f2e
commit 4f212676de
2 changed files with 7 additions and 3 deletions

View file

@ -584,14 +584,16 @@ public class StatusCache {
throw new DBException("db is null. Wrong initialization."); throw new DBException("db is null. Wrong initialization.");
} }
String selection = Sqlite.COL_INSTANCE + "='" + instance String selection = Sqlite.COL_INSTANCE + "='" + instance
+ "' AND " + Sqlite.COL_USER_ID + "= '" + user_id + "'"; + "' AND " + Sqlite.COL_TYPE + "= '" + Timeline.TimeLineEnum.HOME.getValue() + "'"
+ " AND " + Sqlite.COL_STATUS + " LIKE '%" + search + "%'"
+ " AND " + Sqlite.COL_USER_ID + "= '" + user_id + "'";
List<Status> reply = new ArrayList<>(); List<Status> reply = new ArrayList<>();
try { try {
Cursor c = db.query(Sqlite.TABLE_STATUS_CACHE, null, selection, null, null, null, Sqlite.COL_STATUS_ID + " DESC", ""); Cursor c = db.query(Sqlite.TABLE_STATUS_CACHE, null, selection, null, null, null, Sqlite.COL_STATUS_ID + " DESC", "");
List<Status> statuses = cursorToListOfStatuses(c); List<Status> statuses = cursorToListOfStatuses(c);
if (statuses != null && statuses.size() > 0) { if (statuses != null && statuses.size() > 0) {
for (Status status : statuses) { for (Status status : statuses) {
if (status.content.toLowerCase().contains(search.trim().toLowerCase())) { if (status.content != null && status.content.toLowerCase().contains(search.trim().toLowerCase())) {
reply.add(status); reply.add(status);
} }
} }

View file

@ -139,7 +139,9 @@ public class SearchVM extends AndroidViewModel {
try { try {
results.statuses = new ArrayList<>(); results.statuses = new ArrayList<>();
List<Status> statuses = new StatusCache(getApplication()).searchStatus(instance, userId, q); List<Status> statuses = new StatusCache(getApplication()).searchStatus(instance, userId, q);
results.statuses.addAll(statuses); if (statuses != null) {
results.statuses.addAll(statuses);
}
} catch (DBException e) { } catch (DBException e) {
e.printStackTrace(); e.printStackTrace();
} }