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

Additional debugging info added

parent d05012d9
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -22,7 +22,11 @@ package de.kuschku.quasseldroid.service
import de.kuschku.libquassel.protocol.BufferId
import de.kuschku.libquassel.protocol.Message
import de.kuschku.libquassel.protocol.MsgId
import de.kuschku.libquassel.session.ISession
import de.kuschku.libquassel.util.compatibility.LoggingHandler.Companion.log
import de.kuschku.libquassel.util.compatibility.LoggingHandler.LogLevel.ERROR
import de.kuschku.libquassel.util.helpers.value
import de.kuschku.quasseldroid.persistence.QuasselBacklogStorage
import de.kuschku.quasseldroid.persistence.QuasselDatabase
import de.kuschku.quasseldroid.viewmodel.QuasselViewModel
......@@ -34,8 +38,13 @@ class BacklogRequester(
lastMessageId: MsgId? = null,
untilAllVisible: Boolean = false,
finishCallback: () -> Unit) {
log(ERROR,
"BacklogRequester",
"requested(buffer: $buffer, amount: $amount, pageSize: $pageSize, lastMessageId: $lastMessageId, untilAllVisible: $untilAllVisible)")
var missing = amount
viewModel.session.value?.orNull()?.backlogManager?.let {
viewModel.session.value?.orNull()?.let { session: ISession ->
session.backlogManager?.let {
val filtered = database.filtered().get(accountId, buffer) ?: 0
it.requestBacklog(
bufferId = buffer,
last = lastMessageId ?: database.message().findFirstByBufferId(
......@@ -43,11 +52,17 @@ class BacklogRequester(
)?.messageId ?: -1,
limit = amount
) {
log(ERROR,
"BacklogRequester",
"received(buffer: $buffer, amount: $amount, pageSize: $pageSize, lastMessageId: $lastMessageId, untilAllVisible: $untilAllVisible)")
log(ERROR, "BacklogRequester", "message count: ${it.size}")
if (it.isNotEmpty()) {
val filtered = database.filtered().get(accountId, buffer) ?: 0
missing -= it.count {
(it.type.value and filtered.inv()) != 0
val visibleMessages = it.count {
(it.type.value and filtered.inv()) != 0 &&
!QuasselBacklogStorage.isIgnored(session, it)
}
log(ERROR, "BacklogRequester", "visibleMessages: $visibleMessages")
missing -= visibleMessages
val hasLoadedAll = missing == 0
val hasLoadedAny = missing < amount
if (untilAllVisible && !hasLoadedAll || !untilAllVisible && !hasLoadedAny) {
......@@ -59,11 +74,17 @@ class BacklogRequester(
messageId,
untilAllVisible,
finishCallback)
true
} else {
log(ERROR, "BacklogRequester", "finished")
finishCallback()
true
}
} else {
log(ERROR, "BacklogRequester", "finished")
finishCallback()
true
}
}
}
}
......
......@@ -109,6 +109,7 @@ class QuasselNotificationBackend @Inject constructor(
0
) {
processMessages(session, *it.toTypedArray())
false
}
}
NotificationSettings.Level.HIGHLIGHT -> {
......@@ -122,6 +123,7 @@ class QuasselNotificationBackend @Inject constructor(
Message_Flag.of(Message_Flag.Highlight).toInt()
) {
processMessages(session, *it.toTypedArray())
false
}
}
}
......
......@@ -632,6 +632,7 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
database.filtered().replace(
QuasselDatabase.Filtered(accountId, buffer, newlyFiltered.value)
)
backend.value.orNull()?.sessionManager()?.backlogStorage?.clearMessages(buffer)
}
}.negativeColorAttr(R.attr.colorTextPrimary)
.backgroundColorAttr(R.attr.colorBackgroundCard)
......
......@@ -45,6 +45,8 @@ import de.kuschku.libquassel.protocol.BufferId
import de.kuschku.libquassel.protocol.MsgId
import de.kuschku.libquassel.quassel.syncables.BufferSyncer
import de.kuschku.libquassel.session.SessionManager
import de.kuschku.libquassel.util.compatibility.LoggingHandler.Companion.log
import de.kuschku.libquassel.util.compatibility.LoggingHandler.LogLevel.ERROR
import de.kuschku.libquassel.util.helpers.mapSwitchMap
import de.kuschku.libquassel.util.helpers.value
import de.kuschku.libquassel.util.irc.HostmaskHelper
......@@ -195,7 +197,10 @@ class MessageListFragment : ServiceBoundFragment() {
private val boundaryCallback = object :
PagedList.BoundaryCallback<DisplayMessage>() {
override fun onItemAtFrontLoaded(itemAtFront: DisplayMessage) = Unit
override fun onItemAtEndLoaded(itemAtEnd: DisplayMessage) = loadMore()
override fun onItemAtEndLoaded(itemAtEnd: DisplayMessage) {
log(ERROR, "MessageListFragment", "onItemAtEndLoaded")
loadMore()
}
}
override fun onCreateView(
......@@ -249,6 +254,7 @@ class MessageListFragment : ServiceBoundFragment() {
swipeRefreshLayout.setColorSchemeColors(*senderColors)
swipeRefreshLayout.setOnRefreshListener {
log(ERROR, "MessageListFragment", "swipeRefreshed")
loadMore()
}
......@@ -327,7 +333,9 @@ class MessageListFragment : ServiceBoundFragment() {
viewModel.buffer { bufferId ->
val filtered = database.filtered().get(accountId, bufferId)
// Try loading messages when switching to isEmpty buffer
if (!database.message().hasVisibleMessages(bufferId, filtered ?: 0)) {
val hasVisibleMessages = database.message().hasVisibleMessages(bufferId, filtered ?: 0)
log(ERROR, "MessageListFragment", "connected(hasVisibleMessages: $hasVisibleMessages)")
if (!hasVisibleMessages) {
if (bufferId > 0 && bufferId != Int.MAX_VALUE) {
loadMore(initial = true)
}
......@@ -363,6 +371,8 @@ class MessageListFragment : ServiceBoundFragment() {
var lastBuffer = -1
data.observe(this, Observer { list ->
log(ERROR, "MessageListFragment", "Messages Changed ${list?.size}")
val firstVisibleItemPosition = linearLayoutManager.findFirstVisibleItemPosition()
val firstVisibleMessageId = adapter[firstVisibleItemPosition]?.content?.messageId
runInBackground {
......@@ -440,7 +450,9 @@ class MessageListFragment : ServiceBoundFragment() {
}
// Try loading messages when switching to isEmpty buffer
val filtered = database.filtered().get(accountId, current)
if (!database.message().hasVisibleMessages(current, filtered ?: 0)) {
val hasVisibleMessages = database.message().hasVisibleMessages(current, filtered ?: 0)
log(ERROR, "MessageListFragment", "bufferChange(hasVisibleMessages: $hasVisibleMessages)")
if (!hasVisibleMessages) {
if (current > 0 && current != Int.MAX_VALUE) {
loadMore(initial = true)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment