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

Minor fixes and cleanup

parent 166c7193
No related branches found
No related tags found
No related merge requests found
......@@ -37,6 +37,7 @@ class AvatarHelperTest {
type = Message_Type.of(Message_Type.Plain),
flag = Message_Flag.of(),
bufferId = 0,
networkId = 0,
sender = "justJanne",
senderPrefixes = "",
realName = "Janne Koschinski <janne@kuschku.de>",
......@@ -76,6 +77,7 @@ class AvatarHelperTest {
type = Message_Type.of(Message_Type.Plain),
flag = Message_Flag.of(),
bufferId = 0,
networkId = 0,
sender = "jwheare!sid2@irccloud.com",
senderPrefixes = "",
realName = "James Wheare",
......@@ -115,6 +117,7 @@ class AvatarHelperTest {
type = Message_Type.of(Message_Type.Plain),
flag = Message_Flag.of(),
bufferId = 0,
networkId = 0,
sender = "jwheare!sid2@irccloud.com",
senderPrefixes = "",
realName = "James Wheare",
......
......@@ -22,18 +22,16 @@ package de.kuschku.libquassel.quassel.syncables
import de.kuschku.libquassel.protocol.*
import de.kuschku.libquassel.quassel.syncables.interfaces.IBacklogManager
import de.kuschku.libquassel.session.BacklogStorage
import de.kuschku.libquassel.session.NotificationManager
import de.kuschku.libquassel.session.Session
import de.kuschku.libquassel.util.compatibility.LoggingHandler.Companion.log
import de.kuschku.libquassel.util.compatibility.LoggingHandler.LogLevel.ERROR
class BacklogManager(
private val session: Session,
private val notificationManager: NotificationManager?,
private val backlogStorage: BacklogStorage
) : SyncableObject(session, "BacklogManager"), IBacklogManager {
private val loading = mutableMapOf<BufferId, (List<Message>) -> Boolean>()
private val loadingFiltered = mutableMapOf<BufferId, (List<Message>) -> Boolean>()
private val loading = mutableMapOf<BufferId, (List<Message>) -> Unit>()
private val loadingFiltered = mutableMapOf<BufferId, (List<Message>) -> Unit>()
init {
initialized = true
......@@ -42,7 +40,7 @@ class BacklogManager(
fun updateIgnoreRules() = backlogStorage.updateIgnoreRules(session)
fun requestBacklog(bufferId: BufferId, first: MsgId = -1, last: MsgId = -1, limit: Int = -1,
additional: Int = 0, callback: (List<Message>) -> Boolean) {
additional: Int = 0, callback: (List<Message>) -> Unit) {
if (loading.contains(bufferId)) return
loading[bufferId] = callback
requestBacklog(bufferId, first, last, limit, additional)
......@@ -50,14 +48,14 @@ class BacklogManager(
fun requestBacklogFiltered(bufferId: BufferId, first: MsgId = -1, last: MsgId = -1,
limit: Int = -1, additional: Int = 0, type: Int = -1, flags: Int = -1,
callback: (List<Message>) -> Boolean) {
callback: (List<Message>) -> Unit) {
if (loadingFiltered.contains(bufferId)) return
loadingFiltered[bufferId] = callback
requestBacklogFiltered(bufferId, first, last, limit, additional, type, flags)
}
fun requestBacklogAll(first: MsgId = -1, last: MsgId = -1, limit: Int = -1, additional: Int = 0,
callback: (List<Message>) -> Boolean) {
callback: (List<Message>) -> Unit) {
if (loading.contains(-1)) return
loading[-1] = callback
requestBacklogAll(first, last, limit, additional)
......@@ -65,7 +63,7 @@ class BacklogManager(
fun requestBacklogAllFiltered(first: MsgId = -1, last: MsgId = -1, limit: Int = -1,
additional: Int = 0, type: Int = -1, flags: Int = -1,
callback: (List<Message>) -> Boolean) {
callback: (List<Message>) -> Unit) {
if (loading.contains(-1)) return
loadingFiltered[-1] = callback
requestBacklogAllFiltered(first, last, limit, additional, type, flags)
......@@ -74,39 +72,35 @@ class BacklogManager(
override fun receiveBacklog(bufferId: BufferId, first: MsgId, last: MsgId, limit: Int,
additional: Int, messages: QVariantList) {
val list = messages.mapNotNull<QVariant_, Message>(QVariant_::value)
if (loading.remove(bufferId)?.invoke(list) == true) {
loading.remove(bufferId)?.invoke(list)
log(ERROR, "BacklogManager", "storeMessages(${list.size})")
backlogStorage.storeMessages(session, list)
}
}
override fun receiveBacklogAll(first: MsgId, last: MsgId, limit: Int, additional: Int,
messages: QVariantList) {
val list = messages.mapNotNull<QVariant_, Message>(QVariant_::value)
if (loading.remove(-1)?.invoke(list) == true) {
loading.remove(-1)?.invoke(list)
log(ERROR, "BacklogManager", "storeMessages(${list.size})")
backlogStorage.storeMessages(session, list)
}
}
override fun receiveBacklogFiltered(bufferId: BufferId, first: MsgId, last: MsgId, limit: Int,
additional: Int, type: Int, flags: Int,
messages: QVariantList) {
val list = messages.mapNotNull<QVariant_, Message>(QVariant_::value)
if (loadingFiltered.remove(bufferId)?.invoke(list) == true) {
loadingFiltered.remove(bufferId)?.invoke(list)
log(ERROR, "BacklogManager", "storeMessages(${list.size})")
backlogStorage.storeMessages(session, list)
}
}
override fun receiveBacklogAllFiltered(first: MsgId, last: MsgId, limit: Int, additional: Int,
type: Int, flags: Int, messages: QVariantList) {
val list = messages.mapNotNull<QVariant_, Message>(QVariant_::value)
if (loadingFiltered.remove(-1)?.invoke(list) == true) {
loadingFiltered.remove(-1)?.invoke(list)
log(ERROR, "BacklogManager", "storeMessages(${list.size})")
backlogStorage.storeMessages(session, list)
}
}
fun removeBuffer(buffer: BufferId) {
backlogStorage.clearMessages(buffer)
......
......@@ -63,7 +63,7 @@ class Session(
override val error = _error.toFlowable(BackpressureStrategy.BUFFER)
override val aliasManager = AliasManager(this)
override val backlogManager = BacklogManager(this, notificationManager, backlogStorage)
override val backlogManager = BacklogManager(this, backlogStorage)
override val bufferViewManager = BufferViewManager(this)
override val bufferSyncer = BufferSyncer(this, notificationManager)
override val certManagers = mutableMapOf<IdentityId, CertManager>()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment