Specific search suggestions

pull/210/head
M66B 2 years ago
parent e019abfce2
commit 33c148eb7d

@ -666,7 +666,8 @@ public interface DaoMessage {
int getSnoozedCount(); int getSnoozedCount();
@Query("SELECT id AS _id, subject AS suggestion FROM message" + @Query("SELECT id AS _id, subject AS suggestion FROM message" +
" WHERE (:account IS NULL OR message.account = :account)" + " WHERE :subject" +
" AND (:account IS NULL OR message.account = :account)" +
" AND (:folder IS NULL OR message.folder = :folder)" + " AND (:folder IS NULL OR message.folder = :folder)" +
" AND subject LIKE :query" + " AND subject LIKE :query" +
" AND NOT message.ui_hide" + " AND NOT message.ui_hide" +
@ -675,7 +676,8 @@ public interface DaoMessage {
" UNION" + " UNION" +
" SELECT id AS _id, sender AS suggestion FROM message" + " SELECT id AS _id, sender AS suggestion FROM message" +
" WHERE (:account IS NULL OR message.account = :account)" + " WHERE :senders" +
" AND (:account IS NULL OR message.account = :account)" +
" AND (:folder IS NULL OR message.folder = :folder)" + " AND (:folder IS NULL OR message.folder = :folder)" +
" AND sender LIKE :query" + " AND sender LIKE :query" +
" AND NOT message.ui_hide" + " AND NOT message.ui_hide" +
@ -683,7 +685,7 @@ public interface DaoMessage {
" ORDER BY sender, subject" + " ORDER BY sender, subject" +
" LIMIT :limit") " LIMIT :limit")
Cursor getSuggestions(Long account, Long folder, String query, int limit); Cursor getSuggestions(boolean subject, boolean senders, Long account, Long folder, String query, int limit);
@Query("SELECT language FROM message" + @Query("SELECT language FROM message" +
" WHERE (:account IS NULL OR message.account = :account)" + " WHERE (:account IS NULL OR message.account = :account)" +

@ -169,6 +169,8 @@ public class FragmentDialogSearch extends FragmentDialogBase {
DB db = DB.getInstance(context); DB db = DB.getInstance(context);
return db.message().getSuggestions( return db.message().getSuggestions(
cbSubject.isChecked(),
cbSenders.isChecked(),
account < 0 ? null : account, account < 0 ? null : account,
folder < 0 ? null : folder, folder < 0 ? null : folder,
"%" + typed + "%", "%" + typed + "%",

Loading…
Cancel
Save