import org.whispersystems.libaxolotl.InvalidVersionException;
import org.whispersystems.textsecure.api.TextSecureMessageSender;
import org.whispersystems.textsecure.api.crypto.UntrustedIdentityException;
-import org.whispersystems.textsecure.api.messages.TextSecureMessage;
+import org.whispersystems.textsecure.api.messages.TextSecureContent;
+import org.whispersystems.textsecure.api.messages.TextSecureDataMessage;
+import org.whispersystems.textsecure.api.messages.multidevice.TextSecureSyncMessage;
import org.whispersystems.textsecure.api.push.TextSecureAddress;
import java.io.IOException;
System.exit(1);
}
}
- TextSecureMessage message = TextSecureMessage.newBuilder().withBody(messageText).build();
+ TextSecureDataMessage message = TextSecureDataMessage.newBuilder().withBody(messageText).build();
for (String recipient : ns.<String>getList("recipient")) {
try {
messageSender.sendMessage(new TextSecureAddress(recipient), message);
System.exit(1);
}
try {
- message = m.receiveMessage();
- if (message == null) {
- System.exit(0);
- } else {
- System.out.println("Received message: " + message.getBody().get());
+ TextSecureContent content = m.receiveMessage();
+ if (content.getDataMessage().isPresent()) {
+ message = content.getDataMessage().get();
+ if (message == null) {
+ System.exit(0);
+ } else {
+ System.out.println("Received message: " + message.getBody().get());
+ }
+ }
+ if (content.getSyncMessage().isPresent()) {
+ TextSecureSyncMessage syncMessage = content.getSyncMessage().get();
+
+ if (syncMessage == null) {
+ System.exit(0);
+ } else {
+ System.out.println("Received sync message");
+ }
}
} catch (IOException | InvalidVersionException e) {
System.out.println("Receive message: " + e.getMessage());
import org.whispersystems.textsecure.api.TextSecureMessageReceiver;
import org.whispersystems.textsecure.api.TextSecureMessageSender;
import org.whispersystems.textsecure.api.crypto.TextSecureCipher;
+import org.whispersystems.textsecure.api.messages.TextSecureContent;
import org.whispersystems.textsecure.api.messages.TextSecureEnvelope;
-import org.whispersystems.textsecure.api.messages.TextSecureMessage;
+import org.whispersystems.textsecure.api.push.TextSecureAddress;
import org.whispersystems.textsecure.api.push.TrustStore;
import java.io.*;
-import java.nio.file.Path;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
axolotlStore, Optional.<TextSecureMessageSender.EventListener>absent());
}
- public TextSecureMessage receiveMessage() throws IOException, InvalidVersionException {
+ public TextSecureContent receiveMessage() throws IOException, InvalidVersionException {
TextSecureMessageReceiver messageReceiver = new TextSecureMessageReceiver(URL, TRUST_STORE, username, password, signalingKey);
TextSecureMessagePipe messagePipe = null;
} catch (TimeoutException e) {
return null;
}
- TextSecureCipher cipher = new TextSecureCipher(axolotlStore);
- TextSecureMessage message = null;
+ TextSecureCipher cipher = new TextSecureCipher(new TextSecureAddress(username), axolotlStore);
+ TextSecureContent message = null;
try {
message = cipher.decrypt(envelope);
} catch (Exception e) {
import org.whispersystems.textsecure.api.push.TrustStore;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.InputStream;
public class WhisperTrustStore implements TrustStore {