import org.asamk.signal.manager.Manager;
import org.whispersystems.signalservice.api.messages.SignalServiceContent;
import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
-import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import java.util.List;
final Integer sourceDevice;
@JsonProperty
+ @JsonInclude(JsonInclude.Include.NON_NULL)
final String relay;
@JsonProperty
@JsonInclude(JsonInclude.Include.NON_NULL)
final JsonReceiptMessage receiptMessage;
+ @JsonProperty
+ @JsonInclude(JsonInclude.Include.NON_NULL)
+ final JsonTypingMessage typingMessage;
+
public JsonMessageEnvelope(SignalServiceEnvelope envelope, SignalServiceContent content, Manager m) {
if (!envelope.isUnidentifiedSender() && envelope.hasSource()) {
- SignalServiceAddress source = envelope.getSourceAddress();
+ var source = envelope.getSourceAddress();
this.source = source.getLegacyIdentifier();
this.sourceDevice = envelope.getSourceDevice();
this.relay = source.getRelay().orNull();
} else {
this.receiptMessage = null;
}
+ this.typingMessage = content != null && content.getTypingMessage().isPresent()
+ ? new JsonTypingMessage(content.getTypingMessage().get())
+ : null;
this.dataMessage = content != null && content.getDataMessage().isPresent()
? new JsonDataMessage(content.getDataMessage().get(), m)
dataMessage = new JsonDataMessage(messageReceived);
syncMessage = null;
callMessage = null;
+ typingMessage = null;
}
public JsonMessageEnvelope(Signal.ReceiptReceived receiptReceived) {
dataMessage = null;
syncMessage = null;
callMessage = null;
+ typingMessage = null;
}
public JsonMessageEnvelope(Signal.SyncMessageReceived messageReceived) {
dataMessage = null;
syncMessage = new JsonSyncMessage(messageReceived);
callMessage = null;
+ typingMessage = null;
}
}