private TextSecureSyncMessage createSynchronizeMessage(TextSecureEnvelope envelope, SyncMessage content) { if (content.HasSent) { SyncMessage.Types.Sent sentContent = content.Sent; return(TextSecureSyncMessage.forSentTranscript(new SentTranscriptMessage(sentContent.Destination, sentContent.Timestamp, createTextSecureMessage(envelope, sentContent.Message)))); } if (content.HasRequest) { return(TextSecureSyncMessage.forRequest(new RequestMessage(content.Request))); } return(TextSecureSyncMessage.empty()); }
public async void sendMessage(TextSecureSyncMessage message) { byte[] content; if (message.getContacts().HasValue) { content = await createMultiDeviceContactsContent(message.getContacts().ForceGetValue().asStream()); } else if (message.getGroups().HasValue) { content = await createMultiDeviceGroupsContent(message.getGroups().ForceGetValue().asStream()); } else { throw new Exception("Unsupported sync message!"); } await sendMessage(localAddress, KeyHelper.getTime(), content, false); }
public TextSecureContent(TextSecureSyncMessage synchronizeMessage) { this.message = May <TextSecureDataMessage> .NoValue; this.synchronizeMessage = synchronizeMessage == null ? May <TextSecureSyncMessage> .NoValue : new May <TextSecureSyncMessage>(synchronizeMessage); }