import org.whispersystems.libsignal.InvalidKeyException;
import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException;
import org.whispersystems.signalservice.api.messages.*;
-import org.whispersystems.signalservice.api.messages.multidevice.DeviceInfo;
-import org.whispersystems.signalservice.api.messages.multidevice.ReadMessage;
-import org.whispersystems.signalservice.api.messages.multidevice.SentTranscriptMessage;
-import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage;
+import org.whispersystems.signalservice.api.messages.multidevice.*;
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import org.whispersystems.signalservice.api.push.exceptions.EncapsulatedExceptions;
import org.whispersystems.signalservice.api.push.exceptions.NetworkFailureException;
to = "Unknown";
}
System.out.println("To: " + to + " , Message timestamp: " + sentTranscriptMessage.getTimestamp());
+ if (sentTranscriptMessage.getExpirationStartTimestamp() > 0) {
+ System.out.println("Expiration started at: " + sentTranscriptMessage.getExpirationStartTimestamp());
+ }
SignalServiceDataMessage message = sentTranscriptMessage.getMessage();
handleSignalServiceDataMessage(message);
}
+ if (syncMessage.getBlockedList().isPresent()) {
+ System.out.println("Received sync message with block list");
+ System.out.println("Blocked numbers:");
+ final BlockedListMessage blockedList = syncMessage.getBlockedList().get();
+ for (String number : blockedList.getNumbers()) {
+ System.out.println(" - " + number);
+ }
+ }
}
}
} else {
if (message.isEndSession()) {
System.out.println("Is end session");
}
+ if (message.isExpirationUpdate()) {
+ System.out.println("Is Expiration update: " + message.isExpirationUpdate());
+ }
+ if (message.getExpiresInSeconds() > 0) {
+ System.out.println("Expires in: " + message.getExpiresInSeconds() + " seconds");
+ }
if (message.getAttachments().isPresent()) {
System.out.println("Attachments: ");
} catch (Exception e) {
e.printStackTrace();
}
+ if (syncMessage.getBlockedList().isPresent()) {
+ // TODO store list of blocked numbers
+ }
}
if (syncMessage.getContacts().isPresent()) {
try {
if (c.getName().isPresent()) {
contact.name = c.getName().get();
}
+ if (c.getColor().isPresent()) {
+ contact.color = c.getColor().get();
+ }
contactStore.updateContact(contact);
if (c.getAvatar().isPresent()) {
try {
for (ContactInfo record : contactStore.getContacts()) {
out.write(new DeviceContact(record.number, Optional.fromNullable(record.name),
- createContactAvatarAttachment(record.number)));
+ createContactAvatarAttachment(record.number), Optional.fromNullable(record.color)));
}
} finally {
out.close();