diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/ExtendedFeature.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/ExtendedFeature.kt index a534ef0f65f2ded15a7f55de7718d62e0dd084be..7b58f874bea2e46a0eba76563d4c531e3dd3af1d 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/ExtendedFeature.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/ExtendedFeature.kt @@ -32,7 +32,7 @@ enum class ExtendedFeature { /** IRC server custom message rate limits */ CustomRateLimits, // Currently not supported - // DccFileTransfer, + DccFileTransfer, /** Timestamp formatting in away (e.g. %%hh:mm%%) */ AwayFormatTimestamp, /** Whether or not the core supports auth backends. */ diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/LegacyFeature.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/LegacyFeature.kt index 2d152a87ab1df733608e3928d91baa86850844ed..0ca6f14724414166090507651b3bff3726a2a37e 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/LegacyFeature.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/LegacyFeature.kt @@ -31,8 +31,7 @@ import de.kuschku.libquassel.util.flag.Flags * * This list should be cleaned up after every protocol break, as we can assume them to be present then. */ -enum class LegacyFeature(override val bit: Int) : - Flag<LegacyFeature> { +enum class LegacyFeature(override val bit: Int) : Flag<LegacyFeature> { SynchronizedMarkerLine(0x0001), SaslAuthentication(0x0002), SaslExternal(0x0004), @@ -62,7 +61,6 @@ enum class LegacyFeature(override val bit: Int) : companion object : Flags.Factory<LegacyFeature> { override val NONE: Flags<LegacyFeature> = LegacyFeature.of() - val validValues = values().filter { it.bit != 0 }.toTypedArray() override fun of(bit: Int) = Flags.of<LegacyFeature>(bit) override fun of(vararg flags: LegacyFeature) = Flags.of(*flags) override fun of(flags: Iterable<LegacyFeature>) = Flags.of(flags) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/QuasselFeatures.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/QuasselFeatures.kt index b532b237accecdb174545a4363943869b77f0932..3ce719b3952bbcd0ed3a6bcd73008c1df00421c2 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/QuasselFeatures.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/QuasselFeatures.kt @@ -40,6 +40,10 @@ class QuasselFeatures( companion object { fun empty() = QuasselFeatures(emptySet(), emptySet()) - fun all() = QuasselFeatures(ExtendedFeature.values().toSet(), emptySet()) + fun all() = QuasselFeatures( + // Dcc is disabled + ExtendedFeature.values().toSet() - ExtendedFeature.DccFileTransfer, + emptySet() + ) } } diff --git a/lib/src/test/java/de/kuschku/libquassel/protocol/primitive/serializer/MessageSerializerTest.kt b/lib/src/test/java/de/kuschku/libquassel/protocol/primitive/serializer/MessageSerializerTest.kt index f7aa06bc3045617afe6177a101a5adebbc39a87d..5f28aff0fc0abe1c3451de81f6d32c2cdd354de9 100644 --- a/lib/src/test/java/de/kuschku/libquassel/protocol/primitive/serializer/MessageSerializerTest.kt +++ b/lib/src/test/java/de/kuschku/libquassel/protocol/primitive/serializer/MessageSerializerTest.kt @@ -19,10 +19,7 @@ package de.kuschku.libquassel.protocol.primitive.serializer -import de.kuschku.libquassel.protocol.Buffer_Type -import de.kuschku.libquassel.protocol.Message -import de.kuschku.libquassel.protocol.Message_Flag -import de.kuschku.libquassel.protocol.Message_Type +import de.kuschku.libquassel.protocol.* import de.kuschku.libquassel.quassel.BufferInfo import de.kuschku.libquassel.quassel.QuasselFeatures import de.kuschku.libquassel.util.roundTrip @@ -58,13 +55,13 @@ class MessageSerializerTest { @Test fun testNormalNoFeatures() { val value = Message( - Int.MAX_VALUE, + Int.MAX_VALUE.toLong(), Instant.ofEpochMilli(1524601750000), Message_Type.of(*Message_Type.values()), Message_Flag.of(*Message_Flag.values()), BufferInfo( - Int.MAX_VALUE, - Int.MAX_VALUE, + BufferId.MAX_VALUE, + NetworkId.MAX_VALUE, Buffer_Type.of(*Buffer_Type.validValues), Int.MAX_VALUE, "äẞ\u0000\uFFFF" @@ -106,13 +103,13 @@ class MessageSerializerTest { @Test fun testNormalAllFeatures() { val value = Message( - Int.MAX_VALUE, + MsgId.MAX_VALUE, Instant.ofEpochMilli(1524601750000), Message_Type.of(*Message_Type.values()), Message_Flag.of(*Message_Flag.values()), BufferInfo( - Int.MAX_VALUE, - Int.MAX_VALUE, + BufferId.MAX_VALUE, + NetworkId.MAX_VALUE, Buffer_Type.of(*Buffer_Type.validValues), Int.MAX_VALUE, "äẞ\u0000\uFFFF" @@ -130,13 +127,13 @@ class MessageSerializerTest { @Test fun testExtremeAllFeatures() { val value = Message( - Int.MAX_VALUE, + MsgId.MAX_VALUE, Instant.ofEpochMilli(Int.MAX_VALUE * 10000L), Message_Type.of(*Message_Type.values()), Message_Flag.of(*Message_Flag.values()), BufferInfo( - Int.MAX_VALUE, - Int.MAX_VALUE, + BufferId.MAX_VALUE, + NetworkId.MAX_VALUE, Buffer_Type.of(*Buffer_Type.validValues), Int.MAX_VALUE, "äẞ\u0000\uFFFF"