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

Add extended feature for backlog filtering

parent a9861cb2
Branches
Tags
No related merge requests found
...@@ -24,6 +24,7 @@ import android.support.annotation.ColorInt ...@@ -24,6 +24,7 @@ import android.support.annotation.ColorInt
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import de.kuschku.libquassel.protocol.* import de.kuschku.libquassel.protocol.*
import de.kuschku.libquassel.quassel.BufferInfo import de.kuschku.libquassel.quassel.BufferInfo
import de.kuschku.libquassel.quassel.ExtendedFeature
import de.kuschku.libquassel.quassel.syncables.IgnoreListManager import de.kuschku.libquassel.quassel.syncables.IgnoreListManager
import de.kuschku.libquassel.session.NotificationManager import de.kuschku.libquassel.session.NotificationManager
import de.kuschku.libquassel.session.Session import de.kuschku.libquassel.session.Session
...@@ -80,6 +81,7 @@ class QuasselNotificationBackend @Inject constructor( ...@@ -80,6 +81,7 @@ class QuasselNotificationBackend @Inject constructor(
} }
override fun init(session: Session) { override fun init(session: Session) {
if (session.features.negotiated.hasFeature(ExtendedFeature.BacklogFilterType)) {
val buffers = session.bufferSyncer.bufferInfos() val buffers = session.bufferSyncer.bufferInfos()
for (buffer in buffers) { for (buffer in buffers) {
val lastSeenId = session.bufferSyncer.lastSeenMsg(buffer.bufferId) val lastSeenId = session.bufferSyncer.lastSeenMsg(buffer.bufferId)
...@@ -101,7 +103,9 @@ class QuasselNotificationBackend @Inject constructor( ...@@ -101,7 +103,9 @@ class QuasselNotificationBackend @Inject constructor(
activity.hasFlag(Message_Type.Notice)) activity.hasFlag(Message_Type.Notice))
session.backlogManager.requestBacklogFiltered( session.backlogManager.requestBacklogFiltered(
buffer.bufferId, lastSeenId, -1, 20, 0, buffer.bufferId, lastSeenId, -1, 20, 0,
Message_Type.of(Message_Type.Plain, Message_Type.Action, Message_Type.Notice).toInt(), Message_Type.of(Message_Type.Plain,
Message_Type.Action,
Message_Type.Notice).toInt(),
0 0
) )
} }
...@@ -110,7 +114,9 @@ class QuasselNotificationBackend @Inject constructor( ...@@ -110,7 +114,9 @@ class QuasselNotificationBackend @Inject constructor(
if (highlightCount != 0) { if (highlightCount != 0) {
session.backlogManager.requestBacklogFiltered( session.backlogManager.requestBacklogFiltered(
buffer.bufferId, lastSeenId, -1, 20, 0, buffer.bufferId, lastSeenId, -1, 20, 0,
Message_Type.of(Message_Type.Plain, Message_Type.Action, Message_Type.Notice).toInt(), Message_Type.of(Message_Type.Plain,
Message_Type.Action,
Message_Type.Notice).toInt(),
Message_Flag.of(Message_Flag.Highlight).toInt() Message_Flag.of(Message_Flag.Highlight).toInt()
) )
} }
...@@ -121,6 +127,7 @@ class QuasselNotificationBackend @Inject constructor( ...@@ -121,6 +127,7 @@ class QuasselNotificationBackend @Inject constructor(
} }
} }
} }
}
fun updateSettings() { fun updateSettings() {
notificationSettings = Settings.notification(context) notificationSettings = Settings.notification(context)
......
...@@ -50,6 +50,8 @@ enum class ExtendedFeature { ...@@ -50,6 +50,8 @@ enum class ExtendedFeature {
LongMessageTime, LongMessageTime,
/** Real Name and Avatar URL in backlog */ /** Real Name and Avatar URL in backlog */
RichMessages, RichMessages,
/** Backlogmanager supports filtering backlog by messagetype */
BacklogFilterType,
/** 64-bit IDs for messages */ /** 64-bit IDs for messages */
LongMessageId; LongMessageId;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment