Fixed message counts

pull/147/head
M66B 7 years ago
parent 7f4de090df
commit 53cf0f98f1

@ -258,7 +258,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
getSupportFragmentManager().addOnBackStackChangedListener(this);
DB.getInstance(this).account().liveAccounts(true, threading).observe(this, new Observer<List<TupleAccountEx>>() {
DB.getInstance(this).account().liveAccountsEx().observe(this, new Observer<List<TupleAccountEx>>() {
private List<TupleAccountEx> last = new ArrayList<>();
@Override

@ -45,7 +45,7 @@ public interface DaoAccount {
LiveData<List<EntityAccount>> liveAccounts(boolean synchronize);
@Query("SELECT *" +
", (SELECT COUNT(DISTINCT CASE WHEN :threading THEN message.thread ELSE message.id END)" +
", (SELECT COUNT(message.id)" +
" FROM message" +
" JOIN folder ON folder.id = message.folder" +
" WHERE message.account = account.id" +
@ -56,8 +56,8 @@ public interface DaoAccount {
" AND NOT ui_seen" +
" AND NOT ui_hide) AS unseen" +
" FROM account" +
" WHERE synchronize = :synchronize")
LiveData<List<TupleAccountEx>> liveAccounts(boolean synchronize, boolean threading);
" WHERE synchronize")
LiveData<List<TupleAccountEx>> liveAccountsEx();
@Query("SELECT * FROM account WHERE id = :id")
EntityAccount getAccount(long id);

@ -170,14 +170,15 @@ public interface DaoMessage {
" ORDER BY message.received DESC")
List<Long> getMessageIdsByFolder(Long folder);
@Query("SELECT *" +
@Query("SELECT message.*" +
" FROM message" +
" LEFT JOIN account ON account.id = :account" +
" WHERE account = :account" +
" AND thread = :thread" +
" AND message.thread = :thread" +
" AND (:id IS NULL OR message.id = :id)" +
" AND (:folder IS NULL OR message.folder = :folder)" +
" AND NOT uid IS NULL" +
" AND NOT ui_hide")
" AND (NOT message.uid IS NULL OR account.pop)" +
" AND NOT message.ui_hide")
List<EntityMessage> getMessageByThread(long account, String thread, Long id, Long folder);
@Query("SELECT * FROM message" +
@ -235,6 +236,7 @@ public interface DaoMessage {
" JOIN folder ON folder.id = message.folder" +
" WHERE account.`synchronize`" +
" AND folder.unified" +
" AND (account.created IS NULL OR message.received > account.created)" +
" AND NOT message.ui_seen" +
" AND NOT message.ui_hide" +
" AND NOT message.ui_ignored" +

Loading…
Cancel
Save