mirror of
https://github.com/AsamK/signal-cli
synced 2025-09-02 04:20:38 +00:00
Handle sealed sender on receipt of data messages
This commit is contained in:
parent
8115b16bfb
commit
4c9e7925ea
1 changed files with 11 additions and 2 deletions
|
@ -1151,18 +1151,27 @@ public class Manager implements Signal {
|
|||
}
|
||||
}
|
||||
|
||||
private static String senderForMessage(SignalServiceEnvelope envelope, SignalServiceContent content) {
|
||||
String envelopeSource = envelope.getSource();
|
||||
if (envelopeSource.isEmpty()) {
|
||||
return content.getSender();
|
||||
} else {
|
||||
return envelopeSource;
|
||||
}
|
||||
}
|
||||
|
||||
private void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, boolean ignoreAttachments) {
|
||||
if (content != null) {
|
||||
if (content.getDataMessage().isPresent()) {
|
||||
SignalServiceDataMessage message = content.getDataMessage().get();
|
||||
handleSignalServiceDataMessage(message, false, envelope.getSource(), username, ignoreAttachments);
|
||||
handleSignalServiceDataMessage(message, false, senderForMessage(envelope, content), username, ignoreAttachments);
|
||||
}
|
||||
if (content.getSyncMessage().isPresent()) {
|
||||
account.setMultiDevice(true);
|
||||
SignalServiceSyncMessage syncMessage = content.getSyncMessage().get();
|
||||
if (syncMessage.getSent().isPresent()) {
|
||||
SignalServiceDataMessage message = syncMessage.getSent().get().getMessage();
|
||||
handleSignalServiceDataMessage(message, true, envelope.getSource(), syncMessage.getSent().get().getDestination().get(), ignoreAttachments);
|
||||
handleSignalServiceDataMessage(message, true, senderForMessage(envelope, content), syncMessage.getSent().get().getDestination().get(), ignoreAttachments);
|
||||
}
|
||||
if (syncMessage.getRequest().isPresent()) {
|
||||
RequestMessage rm = syncMessage.getRequest().get();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue