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