Sort drafts first, save drafts for new conversations, show drafts in widget

Closes #1296
This commit is contained in:
Moez Bhatti
2019-12-28 03:06:35 -05:00
parent d1bbe2c3cd
commit eb9cd59218
3 changed files with 29 additions and 10 deletions
@@ -58,11 +58,18 @@ class ConversationRepositoryImpl @Inject constructor(
return Realm.getDefaultInstance()
.where(Conversation::class.java)
.notEqualTo("id", 0L)
.isNotNull("lastMessage")
.equalTo("archived", archived)
.equalTo("blocked", false)
.isNotEmpty("recipients")
.sort("pinned", Sort.DESCENDING, "lastMessage.date", Sort.DESCENDING)
.beginGroup()
.isNotNull("lastMessage")
.or()
.isNotEmpty("draft")
.endGroup()
.sort(
arrayOf("pinned", "draft", "lastMessage.date"),
arrayOf(Sort.DESCENDING, Sort.DESCENDING, Sort.DESCENDING)
)
.findAllAsync()
}
@@ -71,11 +78,18 @@ class ConversationRepositoryImpl @Inject constructor(
realm.refresh()
realm.copyFromRealm(realm.where(Conversation::class.java)
.notEqualTo("id", 0L)
.isNotNull("lastMessage")
.equalTo("archived", false)
.equalTo("blocked", false)
.isNotEmpty("recipients")
.sort("pinned", Sort.DESCENDING, "lastMessage.date", Sort.DESCENDING)
.beginGroup()
.isNotNull("lastMessage")
.or()
.isNotEmpty("draft")
.endGroup()
.sort(
arrayOf("pinned", "draft", "lastMessage.date"),
arrayOf(Sort.DESCENDING, Sort.DESCENDING, Sort.DESCENDING)
)
.findAll())
}
}