private static SignalServiceAttachmentPointer CreateAttachmentPointer(AttachmentPointer pointer) { return(new SignalServiceAttachmentPointer((int)pointer.CdnNumber, SignalServiceAttachmentRemoteId.From(pointer) !, pointer.ContentType, pointer.Key.ToByteArray(), pointer.HasSize ? pointer.Size : (uint?)null, pointer.HasThumbnail ? pointer.Thumbnail.ToByteArray() : null, (int)pointer.Width, (int)pointer.Height, pointer.HasDigest ? pointer.Digest.ToByteArray() : null, pointer.HasFileName ? pointer.FileName : null, (pointer.Flags & (uint)AttachmentPointer.Types.Flags.VoiceMessage) != 0, pointer.HasCaption ? pointer.Caption : null, pointer.HasBlurHash ? pointer.BlurHash : null, pointer.HasUploadTimestamp ? (long)pointer.UploadTimestamp : 0)); }
public SignalServiceAttachmentPointer(int cdnNumber, SignalServiceAttachmentRemoteId remoteId, string contentType, byte[] key, uint?size, byte[]?preview, int width, int height, byte[]?digest, string?fileName, bool voiceNote, string?caption, string?blurHash, long uploadTimestamp) : base(contentType) { CdnNumber = cdnNumber; RemoteId = remoteId; Key = key; Size = size; Preview = preview; Digest = digest; FileName = fileName; VoiceNote = voiceNote; Width = width; Height = height; Caption = caption; BlurHash = blurHash; UploadTimestamp = uploadTimestamp; }
private static SignalServiceGroup?CreateGroupV1Info(DataMessage content) { if (content.Group == null) { return(null); } var type = content.Group.Type switch { GroupContext.Types.Type.Deliver => SignalServiceGroup.GroupType.DELIVER, GroupContext.Types.Type.Update => SignalServiceGroup.GroupType.UPDATE, GroupContext.Types.Type.Quit => SignalServiceGroup.GroupType.QUIT, GroupContext.Types.Type.RequestInfo => SignalServiceGroup.GroupType.REQUEST_INFO, _ => SignalServiceGroup.GroupType.UNKNOWN, }; if (content.Group.Type != GroupContext.Types.Type.Deliver) { string?name = null; List <SignalServiceAddress>? members = null; SignalServiceAttachmentPointer?avatar = null; if (content.Group.HasName) { name = content.Group.Name; } if (content.Group.MembersE164.Count > 0) { members = new List <SignalServiceAddress>(content.Group.MembersE164.Count); foreach (string member in content.Group.MembersE164) { members.Add(new SignalServiceAddress(null, member)); } } if (content.Group.Avatar != null) { AttachmentPointer pointer = content.Group.Avatar; avatar = new SignalServiceAttachmentPointer((int)pointer.CdnNumber, SignalServiceAttachmentRemoteId.From(pointer) !, pointer.ContentType, pointer.Key.ToByteArray(), pointer.HasSize ? pointer.Size : 0, null, 0, 0, pointer.HasDigest ? pointer.Digest.ToByteArray() : null, null, false, null, null, pointer.HasUploadTimestamp ? (long)pointer.UploadTimestamp : 0); } return(new SignalServiceGroup(type, content.Group.Id.ToByteArray(), name, members, avatar)); } return(new SignalServiceGroup(content.Group.Id.ToByteArray())); }