Skip to content
Snippets Groups Projects
Verified Commit d05012d9 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

But maybe this will do it for #64?

parent b9a96466
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -325,8 +325,9 @@ class MessageListFragment : ServiceBoundFragment() {
if (it?.orNull() == ConnectionState.CONNECTED) {
runInBackgroundDelayed(16) {
viewModel.buffer { bufferId ->
val filtered = database.filtered().get(accountId, bufferId)
// Try loading messages when switching to isEmpty buffer
if (database.message().bufferSize(bufferId) == 0) {
if (!database.message().hasVisibleMessages(bufferId, filtered ?: 0)) {
if (bufferId > 0 && bufferId != Int.MAX_VALUE) {
loadMore(initial = true)
}
......@@ -438,7 +439,8 @@ class MessageListFragment : ServiceBoundFragment() {
bufferSyncer.requestSetMarkerLine(previous, lastMessageId)
}
// Try loading messages when switching to isEmpty buffer
if (database.message().bufferSize(current) == 0) {
val filtered = database.filtered().get(accountId, current)
if (!database.message().hasVisibleMessages(current, filtered ?: 0)) {
if (current > 0 && current != Int.MAX_VALUE) {
loadMore(initial = true)
}
......
......@@ -111,6 +111,9 @@ abstract class QuasselDatabase : RoomDatabase() {
@Query("SELECT * FROM message WHERE bufferId = :bufferId ORDER BY messageId ASC LIMIT 1")
fun findFirstByBufferId(bufferId: Int): MessageData?
@Query("SELECT EXISTS(SELECT 1 FROM message WHERE bufferId = :bufferId AND type & ~ :type > 0 AND ignored = 0)")
fun hasVisibleMessages(bufferId: Int, type: Int): Boolean
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun save(vararg entities: MessageData)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment