From 281d921849fe5e7dabe9c6076a6aa8ce4f440572 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Thu, 14 May 2020 11:44:33 +1000 Subject: [PATCH] Clean --- .../loki/protocol/ClosedGroupsProtocol.kt | 1 + .../protocol/MultiDeviceOpenGroupUpdateJob.kt | 2 +- .../protocol/PushEphemeralMessageSendJob.kt | 19 ++++++------------- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocol.kt b/src/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocol.kt index 6770c70ded..b381b45a2a 100644 --- a/src/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocol.kt +++ b/src/org/thoughtcrime/securesms/loki/protocol/ClosedGroupsProtocol.kt @@ -21,6 +21,7 @@ object ClosedGroupsProtocol { @JvmStatic fun shouldIgnoreContentMessage(context: Context, conversation: Recipient, groupID: String?, content: SignalServiceContent): Boolean { if (!conversation.address.isClosedGroup || groupID == null) { return false } + // A closed group's members should never include slave devices val senderPublicKey = content.sender val senderMasterPublicKey = MultiDeviceProtocol.shared.getMasterDevice(senderPublicKey) val publicKeyToCheckFor = senderMasterPublicKey ?: senderPublicKey diff --git a/src/org/thoughtcrime/securesms/loki/protocol/MultiDeviceOpenGroupUpdateJob.kt b/src/org/thoughtcrime/securesms/loki/protocol/MultiDeviceOpenGroupUpdateJob.kt index d1068e3756..2c6ed90ff0 100644 --- a/src/org/thoughtcrime/securesms/loki/protocol/MultiDeviceOpenGroupUpdateJob.kt +++ b/src/org/thoughtcrime/securesms/loki/protocol/MultiDeviceOpenGroupUpdateJob.kt @@ -34,7 +34,7 @@ class MultiDeviceOpenGroupUpdateJob private constructor(parameters: Parameters) override fun getFactoryKey(): String { return KEY } - override fun serialize(): Data { return Data.EMPTY } // TODO: Should we implement this? + override fun serialize(): Data { return Data.EMPTY } @Throws(Exception::class) public override fun onRun() { diff --git a/src/org/thoughtcrime/securesms/loki/protocol/PushEphemeralMessageSendJob.kt b/src/org/thoughtcrime/securesms/loki/protocol/PushEphemeralMessageSendJob.kt index 0678fc6421..fa984846e5 100644 --- a/src/org/thoughtcrime/securesms/loki/protocol/PushEphemeralMessageSendJob.kt +++ b/src/org/thoughtcrime/securesms/loki/protocol/PushEphemeralMessageSendJob.kt @@ -31,7 +31,6 @@ class PushEphemeralMessageSendJob private constructor(parameters: Parameters, pr message) override fun serialize(): Data { - // TODO: Is this correct? return Data.Builder() .putString(KEY_MESSAGE, message.serialize()) .build() @@ -41,23 +40,17 @@ class PushEphemeralMessageSendJob private constructor(parameters: Parameters, pr public override fun onRun() { val recipient = message.get("recipient", null) ?: throw IllegalStateException() - val dataMessage = SignalServiceDataMessage.newBuilder() - .withTimestamp(System.currentTimeMillis()) - .withBody(message.get("body", null)) + val dataMessage = SignalServiceDataMessage.newBuilder().withTimestamp(System.currentTimeMillis()) // Attach a pre key bundle if needed if (message.get("friendRequest", false)) { val bundle = DatabaseFactory.getLokiPreKeyBundleDatabase(context).generatePreKeyBundle(recipient) dataMessage.withPreKeyBundle(bundle).asFriendRequest(true) } - // Set flags if needed - if (message.get("unpairingRequest", false)) { - dataMessage.asUnlinkingRequest(true) - } - if (message.get("sessionRestore", false)) { - dataMessage.asSessionRestorationRequest(true) - } - if (message.get("sessionRequest", false)) { - dataMessage.asSessionRequest(true) + // Set flags if needed (these are mutually exclusive) + when { + message.get("unpairingRequest", false) -> dataMessage.asUnlinkingRequest(true) + message.get("sessionRestore", false) -> dataMessage.asSessionRestorationRequest(true) + message.get("sessionRequest", false) -> dataMessage.asSessionRequest(true) } // Send the message val messageSender = ApplicationContext.getInstance(context).communicationModule.provideSignalMessageSender()