Modify proto wrapper builders to require required fields.

This commit is contained in:
Matthew Chen 2018-09-24 09:26:08 -04:00
parent 74e456f90e
commit 7d727b7ac9
34 changed files with 226 additions and 275 deletions

View File

@ -56,7 +56,7 @@
skipped = "NO"> skipped = "NO">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "AB62203226FE5032747AA668B1E97176" BlueprintIdentifier = "2B6F7011088115EAED369AC7DDFF6016"
BuildableName = "SignalServiceKit-Unit-Tests.xctest" BuildableName = "SignalServiceKit-Unit-Tests.xctest"
BlueprintName = "SignalServiceKit-Unit-Tests" BlueprintName = "SignalServiceKit-Unit-Tests"
ReferencedContainer = "container:Pods/Pods.xcodeproj"> ReferencedContainer = "container:Pods/Pods.xcodeproj">
@ -66,7 +66,7 @@
skipped = "NO"> skipped = "NO">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "16C82802D928A2CB20BFA053635EC8A5" BlueprintIdentifier = "BC89BC6B06642C78EABF18B43FFB41DE"
BuildableName = "SignalCoreKit-Unit-Tests.xctest" BuildableName = "SignalCoreKit-Unit-Tests.xctest"
BlueprintName = "SignalCoreKit-Unit-Tests" BlueprintName = "SignalCoreKit-Unit-Tests"
ReferencedContainer = "container:Pods/Pods.xcodeproj"> ReferencedContainer = "container:Pods/Pods.xcodeproj">
@ -86,7 +86,7 @@
skipped = "NO"> skipped = "NO">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "27C3FA4C6A84E017AB7D22A24C0AAC16" BlueprintIdentifier = "B4A8ABAC14D962F8F42814238460DF44"
BuildableName = "Curve25519Kit-Unit-Tests.xctest" BuildableName = "Curve25519Kit-Unit-Tests.xctest"
BlueprintName = "Curve25519Kit-Unit-Tests" BlueprintName = "Curve25519Kit-Unit-Tests"
ReferencedContainer = "container:Pods/Pods.xcodeproj"> ReferencedContainer = "container:Pods/Pods.xcodeproj">
@ -96,7 +96,7 @@
skipped = "NO"> skipped = "NO">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "43480D8706C20F854AFDFDC8D7C6A9C9" BlueprintIdentifier = "E5C44C64CDE3569B16010274DCD48BCC"
BuildableName = "HKDFKit-Unit-Tests.xctest" BuildableName = "HKDFKit-Unit-Tests.xctest"
BlueprintName = "HKDFKit-Unit-Tests" BlueprintName = "HKDFKit-Unit-Tests"
ReferencedContainer = "container:Pods/Pods.xcodeproj"> ReferencedContainer = "container:Pods/Pods.xcodeproj">
@ -106,7 +106,7 @@
skipped = "NO"> skipped = "NO">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "E97B2552FA4458D2A1EDEDECCF7CC8B4" BlueprintIdentifier = "8D0278E2AE7B02CE43272DFEE6C97FF6"
BuildableName = "SignalMetadataKit-Unit-Tests.xctest" BuildableName = "SignalMetadataKit-Unit-Tests.xctest"
BlueprintName = "SignalMetadataKit-Unit-Tests" BlueprintName = "SignalMetadataKit-Unit-Tests"
ReferencedContainer = "container:Pods/Pods.xcodeproj"> ReferencedContainer = "container:Pods/Pods.xcodeproj">

View File

@ -348,17 +348,17 @@ extension WebRTCProtoVideoStreamingStatus.WebRTCProtoVideoStreamingStatusBuilder
} }
fileprivate class func parseProto(_ proto: WebRTCProtos_Data) throws -> WebRTCProtoData { fileprivate class func parseProto(_ proto: WebRTCProtos_Data) throws -> WebRTCProtoData {
var connected: WebRTCProtoConnected? = nil var connected: WebRTCProtoConnected?
if proto.hasConnected { if proto.hasConnected {
connected = try WebRTCProtoConnected.parseProto(proto.connected) connected = try WebRTCProtoConnected.parseProto(proto.connected)
} }
var hangup: WebRTCProtoHangup? = nil var hangup: WebRTCProtoHangup?
if proto.hasHangup { if proto.hasHangup {
hangup = try WebRTCProtoHangup.parseProto(proto.hangup) hangup = try WebRTCProtoHangup.parseProto(proto.hangup)
} }
var videoStreamingStatus: WebRTCProtoVideoStreamingStatus? = nil var videoStreamingStatus: WebRTCProtoVideoStreamingStatus?
if proto.hasVideoStreamingStatus { if proto.hasVideoStreamingStatus {
videoStreamingStatus = try WebRTCProtoVideoStreamingStatus.parseProto(proto.videoStreamingStatus) videoStreamingStatus = try WebRTCProtoVideoStreamingStatus.parseProto(proto.videoStreamingStatus)
} }

View File

@ -143,7 +143,7 @@ public class MessageFetcherJob: NSObject {
throw ParamParser.ParseError.invalidFormat("sourceDevice") throw ParamParser.ParseError.invalidFormat("sourceDevice")
} }
let builder = SSKProtoEnvelope.SSKProtoEnvelopeBuilder(type: type, source: source, sourceDevice: sourceDevice, timestamp: timestamp) let builder = SSKProtoEnvelope.builder(type: type, source: source, sourceDevice: sourceDevice, timestamp: timestamp)
if let legacyMessage = try params.optionalBase64EncodedData(key: "message") { if let legacyMessage = try params.optionalBase64EncodedData(key: "message") {
builder.setLegacyMessage(legacyMessage) builder.setLegacyMessage(legacyMessage)

View File

@ -33,8 +33,7 @@ class DebugUICalling: DebugUIPage {
let kFakeCallId = UInt64(12345) let kFakeCallId = UInt64(12345)
var hangupMessage: SSKProtoCallMessageHangup var hangupMessage: SSKProtoCallMessageHangup
do { do {
let hangupBuilder = SSKProtoCallMessageHangup.SSKProtoCallMessageHangupBuilder() let hangupBuilder = SSKProtoCallMessageHangup.builder(id: kFakeCallId)
hangupBuilder.setId(kFakeCallId)
hangupMessage = try hangupBuilder.build() hangupMessage = try hangupBuilder.build()
} catch { } catch {
owsFailDebug("could not build proto") owsFailDebug("could not build proto")
@ -54,8 +53,7 @@ class DebugUICalling: DebugUIPage {
let kFakeCallId = UInt64(12345) let kFakeCallId = UInt64(12345)
var busyMessage: SSKProtoCallMessageBusy var busyMessage: SSKProtoCallMessageBusy
do { do {
let busyBuilder = SSKProtoCallMessageBusy.SSKProtoCallMessageBusyBuilder() let busyBuilder = SSKProtoCallMessageBusy.builder(id: kFakeCallId)
busyBuilder.setId(kFakeCallId)
busyMessage = try busyBuilder.build() busyMessage = try busyBuilder.build()
} catch { } catch {
owsFailDebug("Couldn't build proto") owsFailDebug("Couldn't build proto")

View File

@ -3379,11 +3379,10 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
} }
}(); }();
SSKProtoEnvelopeBuilder *envelopeBuilder = SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelope builderWithType:SSKProtoEnvelopeTypeCiphertext
[[SSKProtoEnvelopeBuilder alloc] initWithType:SSKProtoEnvelopeTypeCiphertext source:source
source:source sourceDevice:1
sourceDevice:1 timestamp:timestamp];
timestamp:timestamp];
NSError *error; NSError *error;
SSKProtoEnvelope *_Nullable envelope = [envelopeBuilder buildAndReturnError:&error]; SSKProtoEnvelope *_Nullable envelope = [envelopeBuilder buildAndReturnError:&error];
if (error || !envelope) { if (error || !envelope) {
@ -3869,18 +3868,17 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
NSString *randomText = [self randomText]; NSString *randomText = [self randomText];
NSString *text = [[[@(counter) description] stringByAppendingString:@" "] stringByAppendingString:randomText]; NSString *text = [[[@(counter) description] stringByAppendingString:@" "] stringByAppendingString:randomText];
SSKProtoDataMessageBuilder *dataMessageBuilder = [SSKProtoDataMessageBuilder new]; SSKProtoDataMessageBuilder *dataMessageBuilder = [SSKProtoDataMessage builder];
[dataMessageBuilder setBody:text]; [dataMessageBuilder setBody:text];
if ([thread isKindOfClass:[TSGroupThread class]]) { if ([thread isKindOfClass:[TSGroupThread class]]) {
TSGroupThread *groupThread = (TSGroupThread *)thread; TSGroupThread *groupThread = (TSGroupThread *)thread;
SSKProtoGroupContextBuilder *groupBuilder = SSKProtoGroupContextBuilder *groupBuilder =
[[SSKProtoGroupContextBuilder alloc] initWithId:groupThread.groupModel.groupId [SSKProtoGroupContext builderWithId:groupThread.groupModel.groupId type:SSKProtoGroupContextTypeDeliver];
type:SSKProtoGroupContextTypeDeliver];
[dataMessageBuilder setGroup:groupBuilder.buildIgnoringErrors]; [dataMessageBuilder setGroup:groupBuilder.buildIgnoringErrors];
} }
SSKProtoContentBuilder *payloadBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *payloadBuilder = [SSKProtoContent builder];
[payloadBuilder setDataMessage:dataMessageBuilder.buildIgnoringErrors]; [payloadBuilder setDataMessage:dataMessageBuilder.buildIgnoringErrors];
NSData *plaintextData = [payloadBuilder buildIgnoringErrors].serializedDataIgnoringErrors; NSData *plaintextData = [payloadBuilder buildIgnoringErrors].serializedDataIgnoringErrors;
@ -3899,10 +3897,8 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
SSKProtoEnvelopeType envelopeType = SSKProtoEnvelopeTypeCiphertext; SSKProtoEnvelopeType envelopeType = SSKProtoEnvelopeTypeCiphertext;
NSData *content = plaintextData; NSData *content = plaintextData;
SSKProtoEnvelopeBuilder *envelopeBuilder = [[SSKProtoEnvelopeBuilder alloc] initWithType:envelopeType SSKProtoEnvelopeBuilder *envelopeBuilder =
source:source [SSKProtoEnvelope builderWithType:envelopeType source:source sourceDevice:sourceDevice timestamp:timestamp];
sourceDevice:sourceDevice
timestamp:timestamp];
envelopeBuilder.content = content; envelopeBuilder.content = content;
NSError *error; NSError *error;
NSData *_Nullable envelopeData = [envelopeBuilder buildSerializedDataAndReturnError:&error]; NSData *_Nullable envelopeData = [envelopeBuilder buildSerializedDataAndReturnError:&error];

View File

@ -56,7 +56,7 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress sendStressMessage:thread [DebugUIStress sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
return [[contentBuilder buildIgnoringErrors] return [[contentBuilder buildIgnoringErrors]
serializedDataIgnoringErrors]; serializedDataIgnoringErrors];
}]; }];
@ -66,9 +66,9 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress sendStressMessage:thread [DebugUIStress sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
SSKProtoNullMessageBuilder *nullMessageBuilder = SSKProtoNullMessageBuilder *nullMessageBuilder =
[SSKProtoNullMessageBuilder new]; [SSKProtoNullMessage builder];
contentBuilder.nullMessage = contentBuilder.nullMessage =
[nullMessageBuilder buildIgnoringErrors]; [nullMessageBuilder buildIgnoringErrors];
return [[contentBuilder buildIgnoringErrors] return [[contentBuilder buildIgnoringErrors]
@ -81,9 +81,9 @@ NS_ASSUME_NONNULL_BEGIN
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
SSKProtoNullMessageBuilder *nullMessageBuilder = SSKProtoNullMessageBuilder *nullMessageBuilder =
[SSKProtoNullMessageBuilder new]; [SSKProtoNullMessage builder];
NSUInteger contentLength = arc4random_uniform(32); NSUInteger contentLength = arc4random_uniform(32);
nullMessageBuilder.padding = nullMessageBuilder.padding =
[Cryptography generateRandomBytes:contentLength]; [Cryptography generateRandomBytes:contentLength];
@ -98,9 +98,9 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress sendStressMessage:thread [DebugUIStress sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
SSKProtoSyncMessageBuilder *syncMessageBuilder = SSKProtoSyncMessageBuilder *syncMessageBuilder =
[SSKProtoSyncMessageBuilder new]; [SSKProtoSyncMessage builder];
contentBuilder.syncMessage = contentBuilder.syncMessage =
[syncMessageBuilder buildIgnoringErrors]; [syncMessageBuilder buildIgnoringErrors];
return [[contentBuilder buildIgnoringErrors] return [[contentBuilder buildIgnoringErrors]
@ -112,11 +112,11 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress sendStressMessage:thread [DebugUIStress sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
SSKProtoSyncMessageBuilder *syncMessageBuilder = SSKProtoSyncMessageBuilder *syncMessageBuilder =
[SSKProtoSyncMessageBuilder new]; [SSKProtoSyncMessage builder];
SSKProtoSyncMessageSentBuilder *sentBuilder = SSKProtoSyncMessageSentBuilder *sentBuilder =
[SSKProtoSyncMessageSentBuilder new]; [SSKProtoSyncMessageSent builder];
syncMessageBuilder.sent = syncMessageBuilder.sent =
[sentBuilder buildIgnoringErrors]; [sentBuilder buildIgnoringErrors];
contentBuilder.syncMessage = contentBuilder.syncMessage =
@ -131,9 +131,9 @@ NS_ASSUME_NONNULL_BEGIN
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder =
[SSKProtoDataMessageBuilder new]; [SSKProtoDataMessage builder];
dataBuilder.body = @" "; dataBuilder.body = @" ";
[DebugUIStress ensureGroupOfDataBuilder:dataBuilder [DebugUIStress ensureGroupOfDataBuilder:dataBuilder
thread:thread]; thread:thread];
@ -150,12 +150,11 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress [DebugUIStress
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder = [SSKProtoDataMessage builder];
[SSKProtoDataMessageBuilder new];
SSKProtoAttachmentPointerBuilder *attachmentPointer = SSKProtoAttachmentPointerBuilder *attachmentPointer =
[SSKProtoAttachmentPointerBuilder new]; [SSKProtoAttachmentPointer
[attachmentPointer setId:arc4random_uniform(32) + 1]; builderWithId:arc4random_uniform(32) + 1];
[attachmentPointer setContentType:@"1"]; [attachmentPointer setContentType:@"1"];
[attachmentPointer setSize:arc4random_uniform(32) + 1]; [attachmentPointer setSize:arc4random_uniform(32) + 1];
[attachmentPointer setDigest:[Cryptography generateRandomBytes:1]]; [attachmentPointer setDigest:[Cryptography generateRandomBytes:1]];
@ -172,9 +171,9 @@ NS_ASSUME_NONNULL_BEGIN
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder =
[SSKProtoDataMessageBuilder new]; [SSKProtoDataMessage builder];
dataBuilder.body = @"alice"; dataBuilder.body = @"alice";
[DebugUIStress ensureGroupOfDataBuilder:dataBuilder [DebugUIStress ensureGroupOfDataBuilder:dataBuilder
thread:thread]; thread:thread];
@ -193,9 +192,9 @@ NS_ASSUME_NONNULL_BEGIN
timestamp:timestamp timestamp:timestamp
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder =
[SSKProtoDataMessageBuilder new]; [SSKProtoDataMessage builder];
dataBuilder.body = [NSString stringWithFormat:@"%@ %d", dataBuilder.body = [NSString stringWithFormat:@"%@ %d",
[NSUUID UUID].UUIDString, [NSUUID UUID].UUIDString,
i]; i];
@ -216,10 +215,9 @@ NS_ASSUME_NONNULL_BEGIN
sendStressMessage:thread sendStressMessage:thread
timestamp:timestamp timestamp:timestamp
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
[SSKProtoContentBuilder new];
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder =
[SSKProtoDataMessageBuilder new]; [SSKProtoDataMessage builder];
dataBuilder.body = dataBuilder.body =
[[NSUUID UUID].UUIDString stringByAppendingString:@" now"]; [[NSUUID UUID].UUIDString stringByAppendingString:@" now"];
[DebugUIStress ensureGroupOfDataBuilder:dataBuilder thread:thread]; [DebugUIStress ensureGroupOfDataBuilder:dataBuilder thread:thread];
@ -237,10 +235,9 @@ NS_ASSUME_NONNULL_BEGIN
sendStressMessage:thread sendStressMessage:thread
timestamp:timestamp timestamp:timestamp
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
[SSKProtoContentBuilder new];
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder =
[SSKProtoDataMessageBuilder new]; [SSKProtoDataMessage builder];
dataBuilder.body = dataBuilder.body =
[[NSUUID UUID].UUIDString stringByAppendingString:@" now"]; [[NSUUID UUID].UUIDString stringByAppendingString:@" now"];
[DebugUIStress ensureGroupOfDataBuilder:dataBuilder thread:thread]; [DebugUIStress ensureGroupOfDataBuilder:dataBuilder thread:thread];
@ -258,10 +255,9 @@ NS_ASSUME_NONNULL_BEGIN
sendStressMessage:thread sendStressMessage:thread
timestamp:timestamp timestamp:timestamp
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
[SSKProtoContentBuilder new];
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder =
[SSKProtoDataMessageBuilder new]; [SSKProtoDataMessage builder];
dataBuilder.body = dataBuilder.body =
[[NSUUID UUID].UUIDString stringByAppendingString:@" now"]; [[NSUUID UUID].UUIDString stringByAppendingString:@" now"];
[DebugUIStress ensureGroupOfDataBuilder:dataBuilder thread:thread]; [DebugUIStress ensureGroupOfDataBuilder:dataBuilder thread:thread];
@ -272,8 +268,8 @@ NS_ASSUME_NONNULL_BEGIN
}]]; }]];
[items addObject:[OWSTableItem itemWithTitle:@"Send N text messages with same timestamp" [items addObject:[OWSTableItem itemWithTitle:@"Send N text messages with same timestamp"
actionBlock:^{ actionBlock:^{
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
SSKProtoDataMessageBuilder *dataBuilder = [SSKProtoDataMessageBuilder new]; SSKProtoDataMessageBuilder *dataBuilder = [SSKProtoDataMessage builder];
dataBuilder.body = @"alice"; dataBuilder.body = @"alice";
contentBuilder.dataMessage = [dataBuilder buildIgnoringErrors]; contentBuilder.dataMessage = [dataBuilder buildIgnoringErrors];
[DebugUIStress ensureGroupOfDataBuilder:dataBuilder thread:thread]; [DebugUIStress ensureGroupOfDataBuilder:dataBuilder thread:thread];
@ -297,15 +293,14 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress [DebugUIStress
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
SSKProtoSyncMessageBuilder *syncMessageBuilder = SSKProtoSyncMessageBuilder *syncMessageBuilder =
[SSKProtoSyncMessageBuilder new]; [SSKProtoSyncMessage builder];
SSKProtoSyncMessageSentBuilder *sentBuilder = SSKProtoSyncMessageSentBuilder *sentBuilder =
[SSKProtoSyncMessageSentBuilder new]; [SSKProtoSyncMessageSent builder];
sentBuilder.destination = @"abc"; sentBuilder.destination = @"abc";
sentBuilder.timestamp = arc4random_uniform(32) + 1; sentBuilder.timestamp = arc4random_uniform(32) + 1;
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder = [SSKProtoDataMessage builder];
[SSKProtoDataMessageBuilder new];
sentBuilder.message = [dataBuilder buildIgnoringErrors]; sentBuilder.message = [dataBuilder buildIgnoringErrors];
syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors]; syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors];
contentBuilder.syncMessage = [syncMessageBuilder buildIgnoringErrors]; contentBuilder.syncMessage = [syncMessageBuilder buildIgnoringErrors];
@ -320,15 +315,14 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress [DebugUIStress
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
SSKProtoSyncMessageBuilder *syncMessageBuilder = SSKProtoSyncMessageBuilder *syncMessageBuilder =
[SSKProtoSyncMessageBuilder new]; [SSKProtoSyncMessage builder];
SSKProtoSyncMessageSentBuilder *sentBuilder = SSKProtoSyncMessageSentBuilder *sentBuilder =
[SSKProtoSyncMessageSentBuilder new]; [SSKProtoSyncMessageSent builder];
sentBuilder.destination = @"abc"; sentBuilder.destination = @"abc";
sentBuilder.timestamp = 0; sentBuilder.timestamp = 0;
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder = [SSKProtoDataMessage builder];
[SSKProtoDataMessageBuilder new];
sentBuilder.message = [dataBuilder buildIgnoringErrors]; sentBuilder.message = [dataBuilder buildIgnoringErrors];
syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors]; syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors];
contentBuilder.syncMessage = [syncMessageBuilder buildIgnoringErrors]; contentBuilder.syncMessage = [syncMessageBuilder buildIgnoringErrors];
@ -343,15 +337,14 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress [DebugUIStress
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
SSKProtoSyncMessageBuilder *syncMessageBuilder = SSKProtoSyncMessageBuilder *syncMessageBuilder =
[SSKProtoSyncMessageBuilder new]; [SSKProtoSyncMessage builder];
SSKProtoSyncMessageSentBuilder *sentBuilder = SSKProtoSyncMessageSentBuilder *sentBuilder =
[SSKProtoSyncMessageSentBuilder new]; [SSKProtoSyncMessageSent builder];
sentBuilder.destination = @"abc"; sentBuilder.destination = @"abc";
sentBuilder.timestamp = 0; sentBuilder.timestamp = 0;
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder = [SSKProtoDataMessage builder];
[SSKProtoDataMessageBuilder new];
dataBuilder.body = @" "; dataBuilder.body = @" ";
sentBuilder.message = [dataBuilder buildIgnoringErrors]; sentBuilder.message = [dataBuilder buildIgnoringErrors];
syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors]; syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors];
@ -367,19 +360,18 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress [DebugUIStress
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
SSKProtoSyncMessageBuilder *syncMessageBuilder = SSKProtoSyncMessageBuilder *syncMessageBuilder =
[SSKProtoSyncMessageBuilder new]; [SSKProtoSyncMessage builder];
SSKProtoSyncMessageSentBuilder *sentBuilder = SSKProtoSyncMessageSentBuilder *sentBuilder =
[SSKProtoSyncMessageSentBuilder new]; [SSKProtoSyncMessageSent builder];
sentBuilder.destination = @"abc"; sentBuilder.destination = @"abc";
sentBuilder.timestamp = 0; sentBuilder.timestamp = 0;
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder = [SSKProtoDataMessage builder];
[SSKProtoDataMessageBuilder new];
dataBuilder.body = @" "; dataBuilder.body = @" ";
SSKProtoGroupContextBuilder *groupBuilder = SSKProtoGroupContextBuilder *groupBuilder = [SSKProtoGroupContext
[SSKProtoGroupContextBuilder new]; builderWithId:[Cryptography generateRandomBytes:1]
[groupBuilder setId:[Cryptography generateRandomBytes:1]]; type:SSKProtoGroupContextTypeDeliver];
dataBuilder.group = [groupBuilder buildIgnoringErrors]; dataBuilder.group = [groupBuilder buildIgnoringErrors];
sentBuilder.message = [dataBuilder buildIgnoringErrors]; sentBuilder.message = [dataBuilder buildIgnoringErrors];
syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors]; syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors];
@ -395,19 +387,18 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress [DebugUIStress
sendStressMessage:thread sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
SSKProtoSyncMessageBuilder *syncMessageBuilder = SSKProtoSyncMessageBuilder *syncMessageBuilder =
[SSKProtoSyncMessageBuilder new]; [SSKProtoSyncMessage builder];
SSKProtoSyncMessageSentBuilder *sentBuilder = SSKProtoSyncMessageSentBuilder *sentBuilder =
[SSKProtoSyncMessageSentBuilder new]; [SSKProtoSyncMessageSent builder];
sentBuilder.destination = @"abc"; sentBuilder.destination = @"abc";
sentBuilder.timestamp = 0; sentBuilder.timestamp = 0;
SSKProtoDataMessageBuilder *dataBuilder = SSKProtoDataMessageBuilder *dataBuilder = [SSKProtoDataMessage builder];
[SSKProtoDataMessageBuilder new];
dataBuilder.body = @" "; dataBuilder.body = @" ";
SSKProtoGroupContextBuilder *groupBuilder = SSKProtoGroupContextBuilder *groupBuilder = [SSKProtoGroupContext
[SSKProtoGroupContextBuilder new]; builderWithId:[Cryptography generateRandomBytes:1]
[groupBuilder setId:[Cryptography generateRandomBytes:1]]; type:SSKProtoGroupContextTypeDeliver];
dataBuilder.group = [groupBuilder buildIgnoringErrors]; dataBuilder.group = [groupBuilder buildIgnoringErrors];
sentBuilder.message = [dataBuilder buildIgnoringErrors]; sentBuilder.message = [dataBuilder buildIgnoringErrors];
syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors]; syncMessageBuilder.sent = [sentBuilder buildIgnoringErrors];
@ -421,11 +412,11 @@ NS_ASSUME_NONNULL_BEGIN
[DebugUIStress sendStressMessage:thread [DebugUIStress sendStressMessage:thread
block:^(SignalRecipient *recipient) { block:^(SignalRecipient *recipient) {
SSKProtoContentBuilder *contentBuilder = SSKProtoContentBuilder *contentBuilder =
[SSKProtoContentBuilder new]; [SSKProtoContent builder];
SSKProtoSyncMessageBuilder *syncMessageBuilder = SSKProtoSyncMessageBuilder *syncMessageBuilder =
[SSKProtoSyncMessageBuilder new]; [SSKProtoSyncMessage builder];
SSKProtoSyncMessageSentBuilder *sentBuilder = SSKProtoSyncMessageSentBuilder *sentBuilder =
[SSKProtoSyncMessageSentBuilder new]; [SSKProtoSyncMessageSent builder];
sentBuilder.destination = @"abc"; sentBuilder.destination = @"abc";
syncMessageBuilder.sent = syncMessageBuilder.sent =
[sentBuilder buildIgnoringErrors]; [sentBuilder buildIgnoringErrors];
@ -461,8 +452,8 @@ NS_ASSUME_NONNULL_BEGIN
} }
TSGroupThread *groupThread = (TSGroupThread *)thread; TSGroupThread *groupThread = (TSGroupThread *)thread;
SSKProtoGroupContextBuilder *groupBuilder = [SSKProtoGroupContextBuilder new]; SSKProtoGroupContextBuilder *groupBuilder =
[groupBuilder setType:SSKProtoGroupContextTypeDeliver]; [SSKProtoGroupContext builderWithId:groupThread.groupModel.groupId type:SSKProtoGroupContextTypeDeliver];
[groupBuilder setId:groupThread.groupModel.groupId]; [groupBuilder setId:groupThread.groupModel.groupId];
[dataBuilder setGroup:groupBuilder.buildIgnoringErrors]; [dataBuilder setGroup:groupBuilder.buildIgnoringErrors];
} }

View File

@ -411,7 +411,7 @@ private class SignalCallData: NSObject {
return peerConnectionClient.setLocalSessionDescription(sessionDescription).then { return peerConnectionClient.setLocalSessionDescription(sessionDescription).then {
do { do {
let offerBuilder = SSKProtoCallMessageOffer.SSKProtoCallMessageOfferBuilder(id: call.signalingId, let offerBuilder = SSKProtoCallMessageOffer.builder(id: call.signalingId,
sessionDescription: sessionDescription.sdp) sessionDescription: sessionDescription.sdp)
let callMessage = OWSOutgoingCallMessage(thread: call.thread, offerMessage: try offerBuilder.build()) let callMessage = OWSOutgoingCallMessage(thread: call.thread, offerMessage: try offerBuilder.build())
return self.messageSender.sendPromise(message: callMessage) return self.messageSender.sendPromise(message: callMessage)
@ -547,7 +547,7 @@ private class SignalCallData: NSObject {
Logger.info("for call: \(call.identifiersForLogs) thread: \(call.thread.contactIdentifier())") Logger.info("for call: \(call.identifiersForLogs) thread: \(call.thread.contactIdentifier())")
do { do {
let busyBuilder = SSKProtoCallMessageBusy.SSKProtoCallMessageBusyBuilder(id: call.signalingId) let busyBuilder = SSKProtoCallMessageBusy.builder(id: call.signalingId)
let callMessage = OWSOutgoingCallMessage(thread: call.thread, busyMessage: try busyBuilder.build()) let callMessage = OWSOutgoingCallMessage(thread: call.thread, busyMessage: try busyBuilder.build())
let sendPromise = messageSender.sendPromise(message: callMessage) let sendPromise = messageSender.sendPromise(message: callMessage)
sendPromise.retainUntilComplete() sendPromise.retainUntilComplete()
@ -717,7 +717,7 @@ private class SignalCallData: NSObject {
Logger.info("session description for incoming call: \(newCall.identifiersForLogs), sdp: \(negotiatedSessionDescription.logSafeDescription).") Logger.info("session description for incoming call: \(newCall.identifiersForLogs), sdp: \(negotiatedSessionDescription.logSafeDescription).")
do { do {
let answerBuilder = SSKProtoCallMessageAnswer.SSKProtoCallMessageAnswerBuilder(id: newCall.signalingId, let answerBuilder = SSKProtoCallMessageAnswer.builder(id: newCall.signalingId,
sessionDescription: negotiatedSessionDescription.sdp) sessionDescription: negotiatedSessionDescription.sdp)
let callAnswerMessage = OWSOutgoingCallMessage(thread: thread, answerMessage: try answerBuilder.build()) let callAnswerMessage = OWSOutgoingCallMessage(thread: thread, answerMessage: try answerBuilder.build())
@ -861,7 +861,7 @@ private class SignalCallData: NSObject {
* include network accessibility information from the perspective of each client. Once compatible ICEUpdates have been * include network accessibility information from the perspective of each client. Once compatible ICEUpdates have been
* exchanged, the clients can connect. * exchanged, the clients can connect.
*/ */
let iceUpdateBuilder = SSKProtoCallMessageIceUpdate.SSKProtoCallMessageIceUpdateBuilder(id: call.signalingId, let iceUpdateBuilder = SSKProtoCallMessageIceUpdate.builder(id: call.signalingId,
sdpMid: sdpMid, sdpMid: sdpMid,
sdpMlineIndex: UInt32(iceCandidate.sdpMLineIndex), sdpMlineIndex: UInt32(iceCandidate.sdpMLineIndex),
sdp: iceCandidate.sdp) sdp: iceCandidate.sdp)
@ -1041,8 +1041,8 @@ private class SignalCallData: NSObject {
var messageData: Data var messageData: Data
do { do {
let connectedBuilder = WebRTCProtoConnected.WebRTCProtoConnectedBuilder(id: call.signalingId) let connectedBuilder = WebRTCProtoConnected.builder(id: call.signalingId)
let dataBuilder = WebRTCProtoData.WebRTCProtoDataBuilder() let dataBuilder = WebRTCProtoData.builder()
dataBuilder.setConnected(try connectedBuilder.build()) dataBuilder.setConnected(try connectedBuilder.build())
messageData = try dataBuilder.buildSerializedData() messageData = try dataBuilder.buildSerializedData()
} catch { } catch {
@ -1179,8 +1179,8 @@ private class SignalCallData: NSObject {
var messageData: Data var messageData: Data
do { do {
let hangupBuilder = WebRTCProtoHangup.WebRTCProtoHangupBuilder(id: call.signalingId) let hangupBuilder = WebRTCProtoHangup.builder(id: call.signalingId)
let dataBuilder = WebRTCProtoData.WebRTCProtoDataBuilder() let dataBuilder = WebRTCProtoData.builder()
dataBuilder.setHangup(try hangupBuilder.build()) dataBuilder.setHangup(try hangupBuilder.build())
messageData = try dataBuilder.buildSerializedData() messageData = try dataBuilder.buildSerializedData()
} catch { } catch {
@ -1195,7 +1195,7 @@ private class SignalCallData: NSObject {
// If the call hasn't started yet, we don't have a data channel to communicate the hang up. Use Signal Service Message. // If the call hasn't started yet, we don't have a data channel to communicate the hang up. Use Signal Service Message.
do { do {
let hangupBuilder = SSKProtoCallMessageHangup.SSKProtoCallMessageHangupBuilder(id: call.signalingId) let hangupBuilder = SSKProtoCallMessageHangup.builder(id: call.signalingId)
let callMessage = OWSOutgoingCallMessage(thread: call.thread, hangupMessage: try hangupBuilder.build()) let callMessage = OWSOutgoingCallMessage(thread: call.thread, hangupMessage: try hangupBuilder.build())
let sendPromise = self.messageSender.sendPromise(message: callMessage).then { let sendPromise = self.messageSender.sendPromise(message: callMessage).then {
Logger.debug("successfully sent hangup call message to \(call.thread.contactIdentifier())") Logger.debug("successfully sent hangup call message to \(call.thread.contactIdentifier())")
@ -1680,9 +1680,9 @@ private class SignalCallData: NSObject {
var messageData: Data var messageData: Data
do { do {
let videoStreamingStatusBuilder = WebRTCProtoVideoStreamingStatus.WebRTCProtoVideoStreamingStatusBuilder(id: call.signalingId) let videoStreamingStatusBuilder = WebRTCProtoVideoStreamingStatus.builder(id: call.signalingId)
videoStreamingStatusBuilder.setEnabled(shouldHaveLocalVideoTrack) videoStreamingStatusBuilder.setEnabled(shouldHaveLocalVideoTrack)
let dataBuilder = WebRTCProtoData.WebRTCProtoDataBuilder() let dataBuilder = WebRTCProtoData.builder()
dataBuilder.setVideoStreamingStatus(try videoStreamingStatusBuilder.build()) dataBuilder.setVideoStreamingStatus(try videoStreamingStatusBuilder.build())
messageData = try dataBuilder.buildSerializedData() messageData = try dataBuilder.buildSerializedData()
} catch { } catch {

View File

@ -122,11 +122,11 @@ NS_ASSUME_NONNULL_BEGIN
} }
if (!self.backupSnapshotBuilder) { if (!self.backupSnapshotBuilder) {
self.backupSnapshotBuilder = [SignalIOSProtoBackupSnapshotBuilder new]; self.backupSnapshotBuilder = [SignalIOSProtoBackupSnapshot builder];
} }
SignalIOSProtoBackupSnapshotBackupEntityBuilder *entityBuilder = SignalIOSProtoBackupSnapshotBackupEntityBuilder *entityBuilder =
[[SignalIOSProtoBackupSnapshotBackupEntityBuilder alloc] initWithType:entityType entityData:data]; [SignalIOSProtoBackupSnapshotBackupEntity builderWithType:entityType entityData:data];
NSError *error; NSError *error;
SignalIOSProtoBackupSnapshotBackupEntity *_Nullable entity = [entityBuilder buildAndReturnError:&error]; SignalIOSProtoBackupSnapshotBackupEntity *_Nullable entity = [entityBuilder buildAndReturnError:&error];

View File

@ -66,28 +66,14 @@ class SSKProtoEnvelopeTest: SignalBaseTest {
} }
} }
func testParse_buildVsRequired() {
let builder = SSKProtoEnvelope.SSKProtoEnvelopeBuilder()
XCTAssertThrowsError(try builder.build()) { (error) -> Void in
switch error {
case SSKProtoError.invalidProtobuf:
break
default:
XCTFail("unexpected error: \(error)")
}
}
}
func testParse_roundtrip() { func testParse_roundtrip() {
let builder = SSKProtoEnvelope.SSKProtoEnvelopeBuilder() let builder = SSKProtoEnvelope.builder(type: SSKProtoEnvelope.SSKProtoEnvelopeType.prekeyBundle,
source: "+13213214321",
sourceDevice: 1,
timestamp: 123)
let phonyContent = "phony data".data(using: .utf8)! let phonyContent = "phony data".data(using: .utf8)!
builder.setType(SSKProtoEnvelope.SSKProtoEnvelopeType.prekeyBundle)
builder.setTimestamp(123)
builder.setSource("+13213214321")
builder.setSourceDevice(1)
builder.setContent(phonyContent) builder.setContent(phonyContent)
var envelopeData: Data var envelopeData: Data

View File

@ -115,11 +115,10 @@ class PeerConnectionClientTest: SignalBaseTest {
func testDataChannelMessage() { func testDataChannelMessage() {
XCTAssertEqual(0, clientDelegate.dataChannelMessages.count) XCTAssertEqual(0, clientDelegate.dataChannelMessages.count)
let hangupBuilder = WebRTCProtoHangup.WebRTCProtoHangupBuilder() let hangupBuilder = WebRTCProtoHangup.builder(id: 123)
hangupBuilder.setId(123)
let hangup = try! hangupBuilder.build() let hangup = try! hangupBuilder.build()
let dataBuilder = WebRTCProtoData.WebRTCProtoDataBuilder() let dataBuilder = WebRTCProtoData.builder()
dataBuilder.setHangup(hangup) dataBuilder.setHangup(hangup)
let hangupData = try! dataBuilder.buildSerializedData() let hangupData = try! dataBuilder.buildSerializedData()
let hangupBuffer = RTCDataBuffer(data: hangupData, isBinary: false) let hangupBuffer = RTCDataBuffer(data: hangupData, isBinary: false)

View File

@ -36,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilder - (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilder
{ {
SSKProtoSyncMessageBlockedBuilder *blockedBuilder = [SSKProtoSyncMessageBlockedBuilder new]; SSKProtoSyncMessageBlockedBuilder *blockedBuilder = [SSKProtoSyncMessageBlocked builder];
[blockedBuilder setNumbers:_phoneNumbers]; [blockedBuilder setNumbers:_phoneNumbers];
[blockedBuilder setGroupIds:_groupIds]; [blockedBuilder setGroupIds:_groupIds];
@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessageBuilder new]; SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessage builder];
[syncMessageBuilder setBlocked:blockedProto]; [syncMessageBuilder setBlocked:blockedProto];
return syncMessageBuilder; return syncMessageBuilder;
} }

View File

@ -31,9 +31,9 @@ disappearingMessagesConfiguration:(nullable OWSDisappearingMessagesConfiguration
OWSAssertDebug(signalAccount.contact); OWSAssertDebug(signalAccount.contact);
OWSAssertDebug(contactsManager); OWSAssertDebug(contactsManager);
SSKProtoContactDetailsBuilder *contactBuilder = [SSKProtoContactDetailsBuilder new]; SSKProtoContactDetailsBuilder *contactBuilder =
[SSKProtoContactDetails builderWithNumber:signalAccount.recipientId];
[contactBuilder setName:signalAccount.contact.fullName]; [contactBuilder setName:signalAccount.contact.fullName];
[contactBuilder setNumber:signalAccount.recipientId];
[contactBuilder setColor:conversationColorName]; [contactBuilder setColor:conversationColorName];
if (recipientIdentity != nil) { if (recipientIdentity != nil) {
@ -53,8 +53,7 @@ disappearingMessagesConfiguration:(nullable OWSDisappearingMessagesConfiguration
if (rawAvatar) { if (rawAvatar) {
avatarPng = UIImagePNGRepresentation(rawAvatar); avatarPng = UIImagePNGRepresentation(rawAvatar);
if (avatarPng) { if (avatarPng) {
SSKProtoContactDetailsAvatarBuilder *avatarBuilder = SSKProtoContactDetailsAvatarBuilder *avatarBuilder = [SSKProtoContactDetailsAvatar builder];
[SSKProtoContactDetailsAvatarBuilder new];
[avatarBuilder setContentType:OWSMimeTypeImagePng]; [avatarBuilder setContentType:OWSMimeTypeImagePng];
[avatarBuilder setLength:(uint32_t)avatarPng.length]; [avatarBuilder setLength:(uint32_t)avatarPng.length];

View File

@ -22,8 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
TSGroupModel *group = groupThread.groupModel; TSGroupModel *group = groupThread.groupModel;
OWSAssertDebug(group); OWSAssertDebug(group);
SSKProtoGroupDetailsBuilder *groupBuilder = [SSKProtoGroupDetailsBuilder new]; SSKProtoGroupDetailsBuilder *groupBuilder = [SSKProtoGroupDetails builderWithId:group.groupId];
[groupBuilder setId:group.groupId];
[groupBuilder setName:group.groupName]; [groupBuilder setName:group.groupName];
[groupBuilder setMembers:group.groupMemberIds]; [groupBuilder setMembers:group.groupMemberIds];
[groupBuilder setColor:groupThread.conversationColorName]; [groupBuilder setColor:groupThread.conversationColorName];
@ -34,8 +33,7 @@ NS_ASSUME_NONNULL_BEGIN
NSData *avatarPng; NSData *avatarPng;
if (group.groupImage) { if (group.groupImage) {
SSKProtoGroupDetailsAvatarBuilder *avatarBuilder = SSKProtoGroupDetailsAvatarBuilder *avatarBuilder = [SSKProtoGroupDetailsAvatar builder];
[SSKProtoGroupDetailsAvatarBuilder new];
[avatarBuilder setContentType:OWSMimeTypeImagePng]; [avatarBuilder setContentType:OWSMimeTypeImagePng];
avatarPng = UIImagePNGRepresentation(group.groupImage); avatarPng = UIImagePNGRepresentation(group.groupImage);

View File

@ -52,13 +52,13 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable NSData *)buildEncryptedMessageBody - (nullable NSData *)buildEncryptedMessageBody
{ {
ProvisioningProtoProvisionMessageBuilder *messageBuilder = ProvisioningProtoProvisionMessageBuilder *messageBuilder =
[[ProvisioningProtoProvisionMessageBuilder alloc] initWithIdentityKeyPublic:self.myPublicKey [ProvisioningProtoProvisionMessage builderWithIdentityKeyPublic:self.myPublicKey
identityKeyPrivate:self.myPrivateKey identityKeyPrivate:self.myPrivateKey
number:self.accountIdentifier number:self.accountIdentifier
provisioningCode:self.provisioningCode provisioningCode:self.provisioningCode
userAgent:@"OWI" userAgent:@"OWI"
profileKey:self.profileKey profileKey:self.profileKey
readReceipts:self.areReadReceiptsEnabled]; readReceipts:self.areReadReceiptsEnabled];
NSError *error; NSError *error;
NSData *_Nullable plainTextProvisionMessage = [messageBuilder buildSerializedDataAndReturnError:&error]; NSData *_Nullable plainTextProvisionMessage = [messageBuilder buildSerializedDataAndReturnError:&error];
@ -76,8 +76,8 @@ NS_ASSUME_NONNULL_BEGIN
// Note that this is a one-time-use *cipher* public key, not our Signal *identity* public key // Note that this is a one-time-use *cipher* public key, not our Signal *identity* public key
ProvisioningProtoProvisionEnvelopeBuilder *envelopeBuilder = ProvisioningProtoProvisionEnvelopeBuilder *envelopeBuilder =
[[ProvisioningProtoProvisionEnvelopeBuilder alloc] initWithPublicKey:[cipher.ourPublicKey prependKeyType] [ProvisioningProtoProvisionEnvelope builderWithPublicKey:[cipher.ourPublicKey prependKeyType]
body:encryptedProvisionMessage]; body:encryptedProvisionMessage];
NSData *_Nullable envelopeData = [envelopeBuilder buildSerializedDataAndReturnError:&error]; NSData *_Nullable envelopeData = [envelopeBuilder buildSerializedDataAndReturnError:&error];
if (!envelopeData || error) { if (!envelopeData || error) {

View File

@ -35,11 +35,10 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilder - (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilder
{ {
SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessageBuilder new]; SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessage builder];
for (OWSLinkedDeviceReadReceipt *readReceipt in self.readReceipts) { for (OWSLinkedDeviceReadReceipt *readReceipt in self.readReceipts) {
SSKProtoSyncMessageReadBuilder *readProtoBuilder = SSKProtoSyncMessageReadBuilder *readProtoBuilder =
[[SSKProtoSyncMessageReadBuilder alloc] initWithSender:readReceipt.senderId [SSKProtoSyncMessageRead builderWithSender:readReceipt.senderId timestamp:readReceipt.messageIdTimestamp];
timestamp:readReceipt.messageIdTimestamp];
NSError *error; NSError *error;
SSKProtoSyncMessageRead *_Nullable readProto = [readProtoBuilder buildAndReturnError:&error]; SSKProtoSyncMessageRead *_Nullable readProto = [readProtoBuilder buildAndReturnError:&error];

View File

@ -64,7 +64,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
[contentBuilder setReceiptMessage:receiptMessage]; [contentBuilder setReceiptMessage:receiptMessage];
NSError *error; NSError *error;
@ -78,8 +78,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SSKProtoReceiptMessage *)buildReceiptMessage:(NSString *)recipientId - (nullable SSKProtoReceiptMessage *)buildReceiptMessage:(NSString *)recipientId
{ {
SSKProtoReceiptMessageBuilder *builder = [SSKProtoReceiptMessageBuilder new]; SSKProtoReceiptMessageBuilder *builder = [SSKProtoReceiptMessage builderWithType:SSKProtoReceiptMessageTypeRead];
[builder setType:SSKProtoReceiptMessageTypeRead];
OWSAssertDebug(self.messageTimestamps.count > 0); OWSAssertDebug(self.messageTimestamps.count > 0);
for (NSNumber *messageTimestamp in self.messageTimestamps) { for (NSNumber *messageTimestamp in self.messageTimestamps) {

View File

@ -77,7 +77,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessageBuilder new]; SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessage builder];
[syncMessageBuilder setVerified:verifiedProto]; [syncMessageBuilder setVerified:verifiedProto];
return syncMessageBuilder; return syncMessageBuilder;
} }

View File

@ -906,9 +906,7 @@ typedef void (^OWSLoadedThumbnailSuccess)(OWSLoadedThumbnail *loadedThumbnail);
- (nullable SSKProtoAttachmentPointer *)buildProto - (nullable SSKProtoAttachmentPointer *)buildProto
{ {
SSKProtoAttachmentPointerBuilder *builder = [SSKProtoAttachmentPointerBuilder new]; SSKProtoAttachmentPointerBuilder *builder = [SSKProtoAttachmentPointer builderWithId:self.serverId];
builder.id = self.serverId;
OWSAssertDebug(self.contentType.length > 0); OWSAssertDebug(self.contentType.length > 0);
builder.contentType = self.contentType; builder.contentType = self.contentType;

View File

@ -55,7 +55,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilder - (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilder
{ {
SSKProtoSyncMessageSentBuilder *sentBuilder = [SSKProtoSyncMessageSentBuilder new]; SSKProtoSyncMessageSentBuilder *sentBuilder = [SSKProtoSyncMessageSent builder];
[sentBuilder setTimestamp:self.message.timestamp]; [sentBuilder setTimestamp:self.message.timestamp];
[sentBuilder setDestination:self.sentRecipientId]; [sentBuilder setDestination:self.sentRecipientId];
@ -74,7 +74,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessageBuilder new]; SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessage builder];
[syncMessageBuilder setSent:sentProto]; [syncMessageBuilder setSent:sentProto];
return syncMessageBuilder; return syncMessageBuilder;
} }

View File

@ -72,7 +72,7 @@ NS_ASSUME_NONNULL_BEGIN
{ {
OWSAbstractMethod(); OWSAbstractMethod();
return [SSKProtoSyncMessageBuilder new]; return [SSKProtoSyncMessage builder];
} }
- (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient - (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient
@ -82,7 +82,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
[contentBuilder setSyncMessage:syncMessage]; [contentBuilder setSyncMessage:syncMessage];
NSError *error; NSError *error;

View File

@ -34,8 +34,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilder - (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilder
{ {
SSKProtoSyncMessageConfigurationBuilder *configurationBuilder = SSKProtoSyncMessageConfigurationBuilder *configurationBuilder = [SSKProtoSyncMessageConfiguration builder];
[SSKProtoSyncMessageConfigurationBuilder new];
configurationBuilder.readReceipts = self.areReadReceiptsEnabled; configurationBuilder.readReceipts = self.areReadReceiptsEnabled;
NSError *error; NSError *error;
@ -45,7 +44,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoSyncMessageBuilder *builder = [SSKProtoSyncMessageBuilder new]; SSKProtoSyncMessageBuilder *builder = [SSKProtoSyncMessage builder];
builder.configuration = configurationProto; builder.configuration = configurationProto;
return builder; return builder;
} }

View File

@ -63,9 +63,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoSyncMessageContactsBuilder *contactsBuilder = SSKProtoSyncMessageContactsBuilder *contactsBuilder = [SSKProtoSyncMessageContacts builderWithBlob:attachmentProto];
[SSKProtoSyncMessageContactsBuilder new];
[contactsBuilder setBlob:attachmentProto];
[contactsBuilder setIsComplete:YES]; [contactsBuilder setIsComplete:YES];
NSError *error; NSError *error;
@ -74,7 +72,7 @@ NS_ASSUME_NONNULL_BEGIN
OWSFailDebug(@"could not build protobuf: %@", error); OWSFailDebug(@"could not build protobuf: %@", error);
return nil; return nil;
} }
SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessageBuilder new]; SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessage builder];
[syncMessageBuilder setContacts:contactsProto]; [syncMessageBuilder setContacts:contactsProto];
return syncMessageBuilder; return syncMessageBuilder;
} }

View File

@ -40,8 +40,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoSyncMessageGroupsBuilder *groupsBuilder = SSKProtoSyncMessageGroupsBuilder *groupsBuilder = [SSKProtoSyncMessageGroups builder];
[SSKProtoSyncMessageGroupsBuilder new];
[groupsBuilder setBlob:attachmentProto]; [groupsBuilder setBlob:attachmentProto];
NSError *error; NSError *error;
@ -51,7 +50,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessageBuilder new]; SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessage builder];
[syncMessageBuilder setGroups:groupsProto]; [syncMessageBuilder setGroups:groupsProto];
return syncMessageBuilder; return syncMessageBuilder;

View File

@ -60,7 +60,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SSKProtoDataMessageBuilder *)dataMessageBuilder - (nullable SSKProtoDataMessageBuilder *)dataMessageBuilder
{ {
SSKProtoGroupContextBuilder *groupContextBuilder = SSKProtoGroupContextBuilder *groupContextBuilder =
[[SSKProtoGroupContextBuilder alloc] initWithId:self.groupId type:SSKProtoGroupContextTypeRequestInfo]; [SSKProtoGroupContext builderWithId:self.groupId type:SSKProtoGroupContextTypeRequestInfo];
NSError *error; NSError *error;
SSKProtoGroupContext *_Nullable groupContextProto = [groupContextBuilder buildAndReturnError:&error]; SSKProtoGroupContext *_Nullable groupContextProto = [groupContextBuilder buildAndReturnError:&error];
@ -69,7 +69,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoDataMessageBuilder *builder = [SSKProtoDataMessageBuilder new]; SSKProtoDataMessageBuilder *builder = [SSKProtoDataMessage builder];
[builder setTimestamp:self.timestamp]; [builder setTimestamp:self.timestamp];
[builder setGroup:groupContextProto]; [builder setGroup:groupContextProto];

View File

@ -770,11 +770,9 @@ NSString *NSStringForContactAddressType(OWSContactAddressType value)
{ {
OWSAssertDebug(contact); OWSAssertDebug(contact);
SSKProtoDataMessageContactBuilder *contactBuilder = SSKProtoDataMessageContactBuilder *contactBuilder = [SSKProtoDataMessageContact builder];
[SSKProtoDataMessageContactBuilder new];
SSKProtoDataMessageContactNameBuilder *nameBuilder = SSKProtoDataMessageContactNameBuilder *nameBuilder = [SSKProtoDataMessageContactName builder];
[SSKProtoDataMessageContactNameBuilder new];
OWSContactName *contactName = contact.name; OWSContactName *contactName = contact.name;
if (contactName.givenName.ows_stripped.length > 0) { if (contactName.givenName.ows_stripped.length > 0) {
@ -806,8 +804,7 @@ NSString *NSStringForContactAddressType(OWSContactAddressType value)
} }
for (OWSContactPhoneNumber *phoneNumber in contact.phoneNumbers) { for (OWSContactPhoneNumber *phoneNumber in contact.phoneNumbers) {
SSKProtoDataMessageContactPhoneBuilder *phoneBuilder = SSKProtoDataMessageContactPhoneBuilder *phoneBuilder = [SSKProtoDataMessageContactPhone builder];
[SSKProtoDataMessageContactPhoneBuilder new];
phoneBuilder.value = phoneNumber.phoneNumber; phoneBuilder.value = phoneNumber.phoneNumber;
if (phoneNumber.label.ows_stripped.length > 0) { if (phoneNumber.label.ows_stripped.length > 0) {
phoneBuilder.label = phoneNumber.label.ows_stripped; phoneBuilder.label = phoneNumber.label.ows_stripped;
@ -835,8 +832,7 @@ NSString *NSStringForContactAddressType(OWSContactAddressType value)
} }
for (OWSContactEmail *email in contact.emails) { for (OWSContactEmail *email in contact.emails) {
SSKProtoDataMessageContactEmailBuilder *emailBuilder = SSKProtoDataMessageContactEmailBuilder *emailBuilder = [SSKProtoDataMessageContactEmail builder];
[SSKProtoDataMessageContactEmailBuilder new];
emailBuilder.value = email.email; emailBuilder.value = email.email;
if (email.label.ows_stripped.length > 0) { if (email.label.ows_stripped.length > 0) {
emailBuilder.label = email.label.ows_stripped; emailBuilder.label = email.label.ows_stripped;
@ -865,7 +861,7 @@ NSString *NSStringForContactAddressType(OWSContactAddressType value)
for (OWSContactAddress *address in contact.addresses) { for (OWSContactAddress *address in contact.addresses) {
SSKProtoDataMessageContactPostalAddressBuilder *addressBuilder = SSKProtoDataMessageContactPostalAddressBuilder *addressBuilder =
[SSKProtoDataMessageContactPostalAddressBuilder new]; [SSKProtoDataMessageContactPostalAddress builder];
if (address.label.ows_stripped.length > 0) { if (address.label.ows_stripped.length > 0) {
addressBuilder.label = address.label.ows_stripped; addressBuilder.label = address.label.ows_stripped;
} }
@ -904,7 +900,7 @@ NSString *NSStringForContactAddressType(OWSContactAddressType value)
if (!attachmentProto) { if (!attachmentProto) {
OWSLogError(@"could not build protobuf: %@", error); OWSLogError(@"could not build protobuf: %@", error);
} else { } else {
SSKProtoDataMessageContactAvatarBuilder *avatarBuilder = [SSKProtoDataMessageContactAvatarBuilder new]; SSKProtoDataMessageContactAvatarBuilder *avatarBuilder = [SSKProtoDataMessageContactAvatar builder];
avatarBuilder.avatar = attachmentProto; avatarBuilder.avatar = attachmentProto;
SSKProtoDataMessageContactAvatar *_Nullable avatarProto = [avatarBuilder buildAndReturnError:&error]; SSKProtoDataMessageContactAvatar *_Nullable avatarProto = [avatarBuilder buildAndReturnError:&error];
if (error || !avatarProto) { if (error || !avatarProto) {

View File

@ -802,8 +802,8 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
{ {
TSThread *thread = self.thread; TSThread *thread = self.thread;
OWSAssertDebug(thread); OWSAssertDebug(thread);
SSKProtoDataMessageBuilder *builder = [SSKProtoDataMessageBuilder new]; SSKProtoDataMessageBuilder *builder = [SSKProtoDataMessage builder];
[builder setTimestamp:self.timestamp]; [builder setTimestamp:self.timestamp];
if ([self.body lengthOfBytesUsingEncoding:NSUTF8StringEncoding] <= kOversizeTextMessageSizeThreshold) { if ([self.body lengthOfBytesUsingEncoding:NSUTF8StringEncoding] <= kOversizeTextMessageSizeThreshold) {
@ -824,36 +824,36 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
BOOL attachmentWasGroupAvatar = NO; BOOL attachmentWasGroupAvatar = NO;
if ([thread isKindOfClass:[TSGroupThread class]]) { if ([thread isKindOfClass:[TSGroupThread class]]) {
TSGroupThread *gThread = (TSGroupThread *)thread; TSGroupThread *gThread = (TSGroupThread *)thread;
SSKProtoGroupContextBuilder *groupBuilder = [SSKProtoGroupContextBuilder new]; SSKProtoGroupContextType groupMessageType;
switch (self.groupMetaMessage) { switch (self.groupMetaMessage) {
case TSGroupMetaMessageQuit: case TSGroupMetaMessageQuit:
[groupBuilder setType:SSKProtoGroupContextTypeQuit]; groupMessageType = SSKProtoGroupContextTypeQuit;
break; break;
case TSGroupMetaMessageUpdate: case TSGroupMetaMessageUpdate:
case TSGroupMetaMessageNew: { case TSGroupMetaMessageNew:
if (gThread.groupModel.groupImage != nil && self.attachmentIds.count == 1) { groupMessageType = SSKProtoGroupContextTypeUpdate;
attachmentWasGroupAvatar = YES;
SSKProtoAttachmentPointer *_Nullable attachmentProto =
[TSAttachmentStream buildProtoForAttachmentId:self.attachmentIds.firstObject];
if (!attachmentProto) {
OWSFailDebug(@"could not build protobuf.");
return nil;
}
[groupBuilder setAvatar:attachmentProto];
}
[groupBuilder setMembers:gThread.groupModel.groupMemberIds];
[groupBuilder setName:gThread.groupModel.groupName];
[groupBuilder setType:SSKProtoGroupContextTypeUpdate];
break; break;
}
default: default:
[groupBuilder setType:SSKProtoGroupContextTypeDeliver]; groupMessageType = SSKProtoGroupContextTypeDeliver;
break; break;
} }
[groupBuilder setId:gThread.groupModel.groupId]; SSKProtoGroupContextBuilder *groupBuilder =
[SSKProtoGroupContext builderWithId:gThread.groupModel.groupId type:groupMessageType];
if (groupMessageType == SSKProtoGroupContextTypeUpdate) {
if (gThread.groupModel.groupImage != nil && self.attachmentIds.count == 1) {
attachmentWasGroupAvatar = YES;
SSKProtoAttachmentPointer *_Nullable attachmentProto =
[TSAttachmentStream buildProtoForAttachmentId:self.attachmentIds.firstObject];
if (!attachmentProto) {
OWSFailDebug(@"could not build protobuf.");
return nil;
}
[groupBuilder setAvatar:attachmentProto];
}
[groupBuilder setMembers:gThread.groupModel.groupMemberIds];
[groupBuilder setName:gThread.groupModel.groupName];
}
NSError *error; NSError *error;
SSKProtoGroupContext *_Nullable groupContextProto = [groupBuilder buildAndReturnError:&error]; SSKProtoGroupContext *_Nullable groupContextProto = [groupBuilder buildAndReturnError:&error];
if (error || !groupContextProto) { if (error || !groupContextProto) {
@ -911,9 +911,8 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
} }
TSQuotedMessage *quotedMessage = self.quotedMessage; TSQuotedMessage *quotedMessage = self.quotedMessage;
SSKProtoDataMessageQuoteBuilder *quoteBuilder = [SSKProtoDataMessageQuoteBuilder new]; SSKProtoDataMessageQuoteBuilder *quoteBuilder =
[quoteBuilder setId:quotedMessage.timestamp]; [SSKProtoDataMessageQuote builderWithId:quotedMessage.timestamp author:quotedMessage.authorId];
[quoteBuilder setAuthor:quotedMessage.authorId];
BOOL hasQuotedText = NO; BOOL hasQuotedText = NO;
BOOL hasQuotedAttachment = NO; BOOL hasQuotedAttachment = NO;
@ -927,7 +926,7 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
hasQuotedAttachment = YES; hasQuotedAttachment = YES;
SSKProtoDataMessageQuoteQuotedAttachmentBuilder *quotedAttachmentBuilder = SSKProtoDataMessageQuoteQuotedAttachmentBuilder *quotedAttachmentBuilder =
[SSKProtoDataMessageQuoteQuotedAttachmentBuilder new]; [SSKProtoDataMessageQuoteQuotedAttachment builder];
quotedAttachmentBuilder.contentType = attachment.contentType; quotedAttachmentBuilder.contentType = attachment.contentType;
quotedAttachmentBuilder.fileName = attachment.sourceFilename; quotedAttachmentBuilder.fileName = attachment.sourceFilename;
@ -986,7 +985,7 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
return nil; return nil;
} }
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
[contentBuilder setDataMessage:dataMessage]; [contentBuilder setDataMessage:dataMessage];
NSData *_Nullable contentData = [contentBuilder buildSerializedDataAndReturnError:&error]; NSData *_Nullable contentData = [contentBuilder buildSerializedDataAndReturnError:&error];
if (error || !contentData) { if (error || !contentData) {

View File

@ -125,7 +125,7 @@ NS_ASSUME_NONNULL_BEGIN
{ {
OWSAssertDebug(recipient); OWSAssertDebug(recipient);
SSKProtoContentBuilder *builder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *builder = [SSKProtoContent builder];
[builder setCallMessage:[self buildCallMessage:recipient.recipientId]]; [builder setCallMessage:[self buildCallMessage:recipient.recipientId]];
NSError *error; NSError *error;
@ -139,7 +139,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SSKProtoCallMessage *)buildCallMessage:(NSString *)recipientId - (nullable SSKProtoCallMessage *)buildCallMessage:(NSString *)recipientId
{ {
SSKProtoCallMessageBuilder *builder = [SSKProtoCallMessageBuilder new]; SSKProtoCallMessageBuilder *builder = [SSKProtoCallMessage builder];
if (self.offerMessage) { if (self.offerMessage) {
[builder setOffer:self.offerMessage]; [builder setOffer:self.offerMessage];

View File

@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient - (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient
{ {
SSKProtoNullMessageBuilder *nullMessageBuilder = [SSKProtoNullMessageBuilder new]; SSKProtoNullMessageBuilder *nullMessageBuilder = [SSKProtoNullMessage builder];
NSUInteger contentLength = self.verificationStateSyncMessage.unpaddedVerifiedLength; NSUInteger contentLength = self.verificationStateSyncMessage.unpaddedVerifiedLength;
@ -71,7 +71,7 @@ NS_ASSUME_NONNULL_BEGIN
return nil; return nil;
} }
SSKProtoContentBuilder *contentBuilder = [SSKProtoContentBuilder new]; SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
contentBuilder.nullMessage = nullMessage; contentBuilder.nullMessage = nullMessage;
NSData *_Nullable contentData = [contentBuilder buildSerializedDataAndReturnError:&error]; NSData *_Nullable contentData = [contentBuilder buildSerializedDataAndReturnError:&error];

View File

@ -491,9 +491,9 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
} }
WebSocketProtoWebSocketRequestMessageBuilder *requestBuilder = WebSocketProtoWebSocketRequestMessageBuilder *requestBuilder =
[[WebSocketProtoWebSocketRequestMessageBuilder alloc] initWithVerb:request.HTTPMethod [WebSocketProtoWebSocketRequestMessage builderWithVerb:request.HTTPMethod
path:requestPath path:requestPath
requestID:socketMessage.requestId]; requestID:socketMessage.requestId];
if (jsonData) { if (jsonData) {
// TODO: Do we need body & headers for requests with no parameters? // TODO: Do we need body & headers for requests with no parameters?
[requestBuilder setBody:jsonData]; [requestBuilder setBody:jsonData];
@ -509,8 +509,8 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
return; return;
} }
WebSocketProtoWebSocketMessageBuilder *messageBuilder = [WebSocketProtoWebSocketMessageBuilder new]; WebSocketProtoWebSocketMessageBuilder *messageBuilder =
[messageBuilder setType:WebSocketProtoWebSocketMessageTypeRequest]; [WebSocketProtoWebSocketMessage builderWithType:WebSocketProtoWebSocketMessageTypeRequest];
[messageBuilder setRequest:requestProto]; [messageBuilder setRequest:requestProto];
NSData *_Nullable messageData = [messageBuilder buildSerializedDataAndReturnError:&error]; NSData *_Nullable messageData = [messageBuilder buildSerializedDataAndReturnError:&error];
@ -778,7 +778,7 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
NSError *error; NSError *error;
WebSocketProtoWebSocketResponseMessageBuilder *responseBuilder = WebSocketProtoWebSocketResponseMessageBuilder *responseBuilder =
[[WebSocketProtoWebSocketResponseMessageBuilder alloc] initWithRequestID:request.requestID status:200]; [WebSocketProtoWebSocketResponseMessage builderWithRequestID:request.requestID status:200];
[responseBuilder setMessage:@"OK"]; [responseBuilder setMessage:@"OK"];
WebSocketProtoWebSocketResponseMessage *_Nullable response = [responseBuilder buildAndReturnError:&error]; WebSocketProtoWebSocketResponseMessage *_Nullable response = [responseBuilder buildAndReturnError:&error];
if (!response || error) { if (!response || error) {
@ -786,9 +786,9 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
return; return;
} }
WebSocketProtoWebSocketMessageBuilder *messageBuilder = [WebSocketProtoWebSocketMessageBuilder new]; WebSocketProtoWebSocketMessageBuilder *messageBuilder =
[WebSocketProtoWebSocketMessage builderWithType:WebSocketProtoWebSocketMessageTypeResponse];
[messageBuilder setResponse:response]; [messageBuilder setResponse:response];
[messageBuilder setType:WebSocketProtoWebSocketMessageTypeResponse];
NSData *_Nullable messageData = [messageBuilder buildSerializedDataAndReturnError:&error]; NSData *_Nullable messageData = [messageBuilder buildSerializedDataAndReturnError:&error];
if (!messageData || error) { if (!messageData || error) {

View File

@ -296,27 +296,27 @@ extension SSKProtoEnvelope.SSKProtoEnvelopeBuilder {
} }
fileprivate class func parseProto(_ proto: SignalServiceProtos_Content) throws -> SSKProtoContent { fileprivate class func parseProto(_ proto: SignalServiceProtos_Content) throws -> SSKProtoContent {
var dataMessage: SSKProtoDataMessage? = nil var dataMessage: SSKProtoDataMessage?
if proto.hasDataMessage { if proto.hasDataMessage {
dataMessage = try SSKProtoDataMessage.parseProto(proto.dataMessage) dataMessage = try SSKProtoDataMessage.parseProto(proto.dataMessage)
} }
var syncMessage: SSKProtoSyncMessage? = nil var syncMessage: SSKProtoSyncMessage?
if proto.hasSyncMessage { if proto.hasSyncMessage {
syncMessage = try SSKProtoSyncMessage.parseProto(proto.syncMessage) syncMessage = try SSKProtoSyncMessage.parseProto(proto.syncMessage)
} }
var callMessage: SSKProtoCallMessage? = nil var callMessage: SSKProtoCallMessage?
if proto.hasCallMessage { if proto.hasCallMessage {
callMessage = try SSKProtoCallMessage.parseProto(proto.callMessage) callMessage = try SSKProtoCallMessage.parseProto(proto.callMessage)
} }
var nullMessage: SSKProtoNullMessage? = nil var nullMessage: SSKProtoNullMessage?
if proto.hasNullMessage { if proto.hasNullMessage {
nullMessage = try SSKProtoNullMessage.parseProto(proto.nullMessage) nullMessage = try SSKProtoNullMessage.parseProto(proto.nullMessage)
} }
var receiptMessage: SSKProtoReceiptMessage? = nil var receiptMessage: SSKProtoReceiptMessage?
if proto.hasReceiptMessage { if proto.hasReceiptMessage {
receiptMessage = try SSKProtoReceiptMessage.parseProto(proto.receiptMessage) receiptMessage = try SSKProtoReceiptMessage.parseProto(proto.receiptMessage)
} }
@ -963,12 +963,12 @@ extension SSKProtoCallMessageHangup.SSKProtoCallMessageHangupBuilder {
} }
fileprivate class func parseProto(_ proto: SignalServiceProtos_CallMessage) throws -> SSKProtoCallMessage { fileprivate class func parseProto(_ proto: SignalServiceProtos_CallMessage) throws -> SSKProtoCallMessage {
var offer: SSKProtoCallMessageOffer? = nil var offer: SSKProtoCallMessageOffer?
if proto.hasOffer { if proto.hasOffer {
offer = try SSKProtoCallMessageOffer.parseProto(proto.offer) offer = try SSKProtoCallMessageOffer.parseProto(proto.offer)
} }
var answer: SSKProtoCallMessageAnswer? = nil var answer: SSKProtoCallMessageAnswer?
if proto.hasAnswer { if proto.hasAnswer {
answer = try SSKProtoCallMessageAnswer.parseProto(proto.answer) answer = try SSKProtoCallMessageAnswer.parseProto(proto.answer)
} }
@ -976,12 +976,12 @@ extension SSKProtoCallMessageHangup.SSKProtoCallMessageHangupBuilder {
var iceUpdate: [SSKProtoCallMessageIceUpdate] = [] var iceUpdate: [SSKProtoCallMessageIceUpdate] = []
iceUpdate = try proto.iceUpdate.map { try SSKProtoCallMessageIceUpdate.parseProto($0) } iceUpdate = try proto.iceUpdate.map { try SSKProtoCallMessageIceUpdate.parseProto($0) }
var hangup: SSKProtoCallMessageHangup? = nil var hangup: SSKProtoCallMessageHangup?
if proto.hasHangup { if proto.hasHangup {
hangup = try SSKProtoCallMessageHangup.parseProto(proto.hangup) hangup = try SSKProtoCallMessageHangup.parseProto(proto.hangup)
} }
var busy: SSKProtoCallMessageBusy? = nil var busy: SSKProtoCallMessageBusy?
if proto.hasBusy { if proto.hasBusy {
busy = try SSKProtoCallMessageBusy.parseProto(proto.busy) busy = try SSKProtoCallMessageBusy.parseProto(proto.busy)
} }
@ -1123,7 +1123,7 @@ extension SSKProtoCallMessage.SSKProtoCallMessageBuilder {
} }
fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage.Quote.QuotedAttachment) throws -> SSKProtoDataMessageQuoteQuotedAttachment { fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage.Quote.QuotedAttachment) throws -> SSKProtoDataMessageQuoteQuotedAttachment {
var thumbnail: SSKProtoAttachmentPointer? = nil var thumbnail: SSKProtoAttachmentPointer?
if proto.hasThumbnail { if proto.hasThumbnail {
thumbnail = try SSKProtoAttachmentPointer.parseProto(proto.thumbnail) thumbnail = try SSKProtoAttachmentPointer.parseProto(proto.thumbnail)
} }
@ -1980,7 +1980,7 @@ extension SSKProtoDataMessageContactPostalAddress.SSKProtoDataMessageContactPost
} }
fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage.Contact.Avatar) throws -> SSKProtoDataMessageContactAvatar { fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage.Contact.Avatar) throws -> SSKProtoDataMessageContactAvatar {
var avatar: SSKProtoAttachmentPointer? = nil var avatar: SSKProtoAttachmentPointer?
if proto.hasAvatar { if proto.hasAvatar {
avatar = try SSKProtoAttachmentPointer.parseProto(proto.avatar) avatar = try SSKProtoAttachmentPointer.parseProto(proto.avatar)
} }
@ -2125,7 +2125,7 @@ extension SSKProtoDataMessageContactAvatar.SSKProtoDataMessageContactAvatarBuild
} }
fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage.Contact) throws -> SSKProtoDataMessageContact { fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage.Contact) throws -> SSKProtoDataMessageContact {
var name: SSKProtoDataMessageContactName? = nil var name: SSKProtoDataMessageContactName?
if proto.hasName { if proto.hasName {
name = try SSKProtoDataMessageContactName.parseProto(proto.name) name = try SSKProtoDataMessageContactName.parseProto(proto.name)
} }
@ -2139,7 +2139,7 @@ extension SSKProtoDataMessageContactAvatar.SSKProtoDataMessageContactAvatarBuild
var address: [SSKProtoDataMessageContactPostalAddress] = [] var address: [SSKProtoDataMessageContactPostalAddress] = []
address = try proto.address.map { try SSKProtoDataMessageContactPostalAddress.parseProto($0) } address = try proto.address.map { try SSKProtoDataMessageContactPostalAddress.parseProto($0) }
var avatar: SSKProtoDataMessageContactAvatar? = nil var avatar: SSKProtoDataMessageContactAvatar?
if proto.hasAvatar { if proto.hasAvatar {
avatar = try SSKProtoDataMessageContactAvatar.parseProto(proto.avatar) avatar = try SSKProtoDataMessageContactAvatar.parseProto(proto.avatar)
} }
@ -2348,12 +2348,12 @@ extension SSKProtoDataMessageContact.SSKProtoDataMessageContactBuilder {
var attachments: [SSKProtoAttachmentPointer] = [] var attachments: [SSKProtoAttachmentPointer] = []
attachments = try proto.attachments.map { try SSKProtoAttachmentPointer.parseProto($0) } attachments = try proto.attachments.map { try SSKProtoAttachmentPointer.parseProto($0) }
var group: SSKProtoGroupContext? = nil var group: SSKProtoGroupContext?
if proto.hasGroup { if proto.hasGroup {
group = try SSKProtoGroupContext.parseProto(proto.group) group = try SSKProtoGroupContext.parseProto(proto.group)
} }
var quote: SSKProtoDataMessageQuote? = nil var quote: SSKProtoDataMessageQuote?
if proto.hasQuote { if proto.hasQuote {
quote = try SSKProtoDataMessageQuote.parseProto(proto.quote) quote = try SSKProtoDataMessageQuote.parseProto(proto.quote)
} }
@ -2829,7 +2829,7 @@ extension SSKProtoVerified.SSKProtoVerifiedBuilder {
} }
fileprivate class func parseProto(_ proto: SignalServiceProtos_SyncMessage.Sent) throws -> SSKProtoSyncMessageSent { fileprivate class func parseProto(_ proto: SignalServiceProtos_SyncMessage.Sent) throws -> SSKProtoSyncMessageSent {
var message: SSKProtoDataMessage? = nil var message: SSKProtoDataMessage?
if proto.hasMessage { if proto.hasMessage {
message = try SSKProtoDataMessage.parseProto(proto.message) message = try SSKProtoDataMessage.parseProto(proto.message)
} }
@ -3008,7 +3008,7 @@ extension SSKProtoSyncMessageContacts.SSKProtoSyncMessageContactsBuilder {
} }
fileprivate class func parseProto(_ proto: SignalServiceProtos_SyncMessage.Groups) throws -> SSKProtoSyncMessageGroups { fileprivate class func parseProto(_ proto: SignalServiceProtos_SyncMessage.Groups) throws -> SSKProtoSyncMessageGroups {
var blob: SSKProtoAttachmentPointer? = nil var blob: SSKProtoAttachmentPointer?
if proto.hasBlob { if proto.hasBlob {
blob = try SSKProtoAttachmentPointer.parseProto(proto.blob) blob = try SSKProtoAttachmentPointer.parseProto(proto.blob)
} }
@ -3557,22 +3557,22 @@ extension SSKProtoSyncMessageConfiguration.SSKProtoSyncMessageConfigurationBuild
} }
fileprivate class func parseProto(_ proto: SignalServiceProtos_SyncMessage) throws -> SSKProtoSyncMessage { fileprivate class func parseProto(_ proto: SignalServiceProtos_SyncMessage) throws -> SSKProtoSyncMessage {
var sent: SSKProtoSyncMessageSent? = nil var sent: SSKProtoSyncMessageSent?
if proto.hasSent { if proto.hasSent {
sent = try SSKProtoSyncMessageSent.parseProto(proto.sent) sent = try SSKProtoSyncMessageSent.parseProto(proto.sent)
} }
var contacts: SSKProtoSyncMessageContacts? = nil var contacts: SSKProtoSyncMessageContacts?
if proto.hasContacts { if proto.hasContacts {
contacts = try SSKProtoSyncMessageContacts.parseProto(proto.contacts) contacts = try SSKProtoSyncMessageContacts.parseProto(proto.contacts)
} }
var groups: SSKProtoSyncMessageGroups? = nil var groups: SSKProtoSyncMessageGroups?
if proto.hasGroups { if proto.hasGroups {
groups = try SSKProtoSyncMessageGroups.parseProto(proto.groups) groups = try SSKProtoSyncMessageGroups.parseProto(proto.groups)
} }
var request: SSKProtoSyncMessageRequest? = nil var request: SSKProtoSyncMessageRequest?
if proto.hasRequest { if proto.hasRequest {
request = try SSKProtoSyncMessageRequest.parseProto(proto.request) request = try SSKProtoSyncMessageRequest.parseProto(proto.request)
} }
@ -3580,17 +3580,17 @@ extension SSKProtoSyncMessageConfiguration.SSKProtoSyncMessageConfigurationBuild
var read: [SSKProtoSyncMessageRead] = [] var read: [SSKProtoSyncMessageRead] = []
read = try proto.read.map { try SSKProtoSyncMessageRead.parseProto($0) } read = try proto.read.map { try SSKProtoSyncMessageRead.parseProto($0) }
var blocked: SSKProtoSyncMessageBlocked? = nil var blocked: SSKProtoSyncMessageBlocked?
if proto.hasBlocked { if proto.hasBlocked {
blocked = try SSKProtoSyncMessageBlocked.parseProto(proto.blocked) blocked = try SSKProtoSyncMessageBlocked.parseProto(proto.blocked)
} }
var verified: SSKProtoVerified? = nil var verified: SSKProtoVerified?
if proto.hasVerified { if proto.hasVerified {
verified = try SSKProtoVerified.parseProto(proto.verified) verified = try SSKProtoVerified.parseProto(proto.verified)
} }
var configuration: SSKProtoSyncMessageConfiguration? = nil var configuration: SSKProtoSyncMessageConfiguration?
if proto.hasConfiguration { if proto.hasConfiguration {
configuration = try SSKProtoSyncMessageConfiguration.parseProto(proto.configuration) configuration = try SSKProtoSyncMessageConfiguration.parseProto(proto.configuration)
} }
@ -3988,7 +3988,7 @@ extension SSKProtoAttachmentPointer.SSKProtoAttachmentPointerBuilder {
} }
let type = SSKProtoGroupContextTypeWrap(proto.type) let type = SSKProtoGroupContextTypeWrap(proto.type)
var avatar: SSKProtoAttachmentPointer? = nil var avatar: SSKProtoAttachmentPointer?
if proto.hasAvatar { if proto.hasAvatar {
avatar = try SSKProtoAttachmentPointer.parseProto(proto.avatar) avatar = try SSKProtoAttachmentPointer.parseProto(proto.avatar)
} }
@ -4254,12 +4254,12 @@ extension SSKProtoContactDetailsAvatar.SSKProtoContactDetailsAvatarBuilder {
} }
let number = proto.number let number = proto.number
var avatar: SSKProtoContactDetailsAvatar? = nil var avatar: SSKProtoContactDetailsAvatar?
if proto.hasAvatar { if proto.hasAvatar {
avatar = try SSKProtoContactDetailsAvatar.parseProto(proto.avatar) avatar = try SSKProtoContactDetailsAvatar.parseProto(proto.avatar)
} }
var verified: SSKProtoVerified? = nil var verified: SSKProtoVerified?
if proto.hasVerified { if proto.hasVerified {
verified = try SSKProtoVerified.parseProto(proto.verified) verified = try SSKProtoVerified.parseProto(proto.verified)
} }
@ -4528,7 +4528,7 @@ extension SSKProtoGroupDetailsAvatar.SSKProtoGroupDetailsAvatarBuilder {
} }
let id = proto.id let id = proto.id
var avatar: SSKProtoGroupDetailsAvatar? = nil var avatar: SSKProtoGroupDetailsAvatar?
if proto.hasAvatar { if proto.hasAvatar {
avatar = try SSKProtoGroupDetailsAvatar.parseProto(proto.avatar) avatar = try SSKProtoGroupDetailsAvatar.parseProto(proto.avatar)
} }

View File

@ -400,12 +400,12 @@ extension WebSocketProtoWebSocketResponseMessage.WebSocketProtoWebSocketResponse
} }
let type = WebSocketProtoWebSocketMessageTypeWrap(proto.type) let type = WebSocketProtoWebSocketMessageTypeWrap(proto.type)
var request: WebSocketProtoWebSocketRequestMessage? = nil var request: WebSocketProtoWebSocketRequestMessage?
if proto.hasRequest { if proto.hasRequest {
request = try WebSocketProtoWebSocketRequestMessage.parseProto(proto.request) request = try WebSocketProtoWebSocketRequestMessage.parseProto(proto.request)
} }
var response: WebSocketProtoWebSocketResponseMessage? = nil var response: WebSocketProtoWebSocketResponseMessage?
if proto.hasResponse { if proto.hasResponse {
response = try WebSocketProtoWebSocketResponseMessage.parseProto(proto.response) response = try WebSocketProtoWebSocketResponseMessage.parseProto(proto.response)
} }

View File

@ -277,8 +277,7 @@ static uint32_t const OWSFingerprintDefaultHashIterations = 5200;
- (nullable UIImage *)image - (nullable UIImage *)image
{ {
FingerprintProtoLogicalFingerprintBuilder *remoteFingerprintBuilder = FingerprintProtoLogicalFingerprintBuilder *remoteFingerprintBuilder =
[FingerprintProtoLogicalFingerprintBuilder new]; [FingerprintProtoLogicalFingerprint builderWithIdentityData:[self scannableData:self.theirFingerprintData]];
remoteFingerprintBuilder.identityData = [self scannableData:self.theirFingerprintData];
NSError *error; NSError *error;
FingerprintProtoLogicalFingerprint *_Nullable remoteFingerprint = FingerprintProtoLogicalFingerprint *_Nullable remoteFingerprint =
[remoteFingerprintBuilder buildAndReturnError:&error]; [remoteFingerprintBuilder buildAndReturnError:&error];
@ -288,8 +287,7 @@ static uint32_t const OWSFingerprintDefaultHashIterations = 5200;
} }
FingerprintProtoLogicalFingerprintBuilder *localFingerprintBuilder = FingerprintProtoLogicalFingerprintBuilder *localFingerprintBuilder =
[FingerprintProtoLogicalFingerprintBuilder new]; [FingerprintProtoLogicalFingerprint builderWithIdentityData:[self scannableData:self.myFingerprintData]];
localFingerprintBuilder.identityData = [self scannableData:self.myFingerprintData];
FingerprintProtoLogicalFingerprint *_Nullable localFingerprint = FingerprintProtoLogicalFingerprint *_Nullable localFingerprint =
[localFingerprintBuilder buildAndReturnError:&error]; [localFingerprintBuilder buildAndReturnError:&error];
if (!localFingerprint || error) { if (!localFingerprint || error) {
@ -298,9 +296,9 @@ static uint32_t const OWSFingerprintDefaultHashIterations = 5200;
} }
FingerprintProtoLogicalFingerprintsBuilder *logicalFingerprintsBuilder = FingerprintProtoLogicalFingerprintsBuilder *logicalFingerprintsBuilder =
[[FingerprintProtoLogicalFingerprintsBuilder alloc] initWithVersion:OWSFingerprintScannableFormatVersion [FingerprintProtoLogicalFingerprints builderWithVersion:OWSFingerprintScannableFormatVersion
localFingerprint:localFingerprint localFingerprint:localFingerprint
remoteFingerprint:remoteFingerprint]; remoteFingerprint:remoteFingerprint];
// Build ByteMode QR (Latin-1 encodable data) // Build ByteMode QR (Latin-1 encodable data)
NSData *_Nullable fingerprintData = [logicalFingerprintsBuilder buildSerializedDataAndReturnError:&error]; NSData *_Nullable fingerprintData = [logicalFingerprintsBuilder buildSerializedDataAndReturnError:&error];

View File

@ -47,8 +47,7 @@ SSKProtoVerified *_Nullable BuildVerifiedProtoWithRecipientId(NSString *destinat
// will figure that out on it's own. // will figure that out on it's own.
OWSCAssertDebug(verificationState != OWSVerificationStateNoLongerVerified); OWSCAssertDebug(verificationState != OWSVerificationStateNoLongerVerified);
SSKProtoVerifiedBuilder *verifiedBuilder = [SSKProtoVerifiedBuilder new]; SSKProtoVerifiedBuilder *verifiedBuilder = [SSKProtoVerified builderWithDestination:destinationRecipientId];
verifiedBuilder.destination = destinationRecipientId;
verifiedBuilder.identityKey = identityKey; verifiedBuilder.identityKey = identityKey;
verifiedBuilder.state = OWSVerificationStateToProtoState(verificationState); verifiedBuilder.state = OWSVerificationStateToProtoState(verificationState);

View File

@ -69,13 +69,13 @@ NS_ASSUME_NONNULL_BEGIN
OWSMessageManager *messagesManager = OWSMessageManager.sharedManager; OWSMessageManager *messagesManager = OWSMessageManager.sharedManager;
SSKProtoSyncMessageRequestBuilder *requestBuilder = [SSKProtoSyncMessageRequestBuilder new]; SSKProtoSyncMessageRequestBuilder *requestBuilder = [SSKProtoSyncMessageRequest builder];
[requestBuilder setType:SSKProtoSyncMessageRequestTypeGroups]; [requestBuilder setType:SSKProtoSyncMessageRequestTypeGroups];
SSKProtoSyncMessageBuilder *messageBuilder = [SSKProtoSyncMessageBuilder new]; SSKProtoSyncMessageBuilder *messageBuilder = [SSKProtoSyncMessage builder];
[messageBuilder setRequest:[requestBuilder buildIgnoringErrors]]; [messageBuilder setRequest:[requestBuilder buildIgnoringErrors]];
SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelopeBuilder new]; SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelope builder];
[envelopeBuilder setType:SSKProtoEnvelopeTypeCiphertext]; [envelopeBuilder setType:SSKProtoEnvelopeTypeCiphertext];
[envelopeBuilder setSource:@"+13213214321"]; [envelopeBuilder setSource:@"+13213214321"];
[envelopeBuilder setSourceDevice:1]; [envelopeBuilder setSourceDevice:1];
@ -99,14 +99,14 @@ NS_ASSUME_NONNULL_BEGIN
OWSMessageManager *messagesManager = SSKEnvironment.shared.messageManager; OWSMessageManager *messagesManager = SSKEnvironment.shared.messageManager;
SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelopeBuilder new]; SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelope builder];
SSKProtoGroupContextBuilder *groupContextBuilder = [SSKProtoGroupContextBuilder new]; SSKProtoGroupContextBuilder *groupContextBuilder = [SSKProtoGroupContext builder];
groupContextBuilder.name = @"Newly created Group Name"; groupContextBuilder.name = @"Newly created Group Name";
groupContextBuilder.id = groupIdData; groupContextBuilder.id = groupIdData;
groupContextBuilder.type = SSKProtoGroupContextTypeUpdate; groupContextBuilder.type = SSKProtoGroupContextTypeUpdate;
SSKProtoDataMessageBuilder *messageBuilder = [SSKProtoDataMessageBuilder new]; SSKProtoDataMessageBuilder *messageBuilder = [SSKProtoDataMessage builder];
messageBuilder.group = [groupContextBuilder buildIgnoringErrors]; messageBuilder.group = [groupContextBuilder buildIgnoringErrors];
[messagesManager handleIncomingEnvelope:[envelopeBuilder buildIgnoringErrors] [messagesManager handleIncomingEnvelope:[envelopeBuilder buildIgnoringErrors]
@ -126,21 +126,21 @@ NS_ASSUME_NONNULL_BEGIN
OWSMessageManager *messagesManager = SSKEnvironment.shared.messageManager; OWSMessageManager *messagesManager = SSKEnvironment.shared.messageManager;
SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelopeBuilder new]; SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelope builder];
SSKProtoGroupContextBuilder *groupContextBuilder = [SSKProtoGroupContextBuilder new]; SSKProtoGroupContextBuilder *groupContextBuilder = [SSKProtoGroupContext builder];
groupContextBuilder.name = @"Newly created Group with Avatar Name"; groupContextBuilder.name = @"Newly created Group with Avatar Name";
groupContextBuilder.id = groupIdData; groupContextBuilder.id = groupIdData;
groupContextBuilder.type = SSKProtoGroupContextTypeUpdate; groupContextBuilder.type = SSKProtoGroupContextTypeUpdate;
SSKProtoAttachmentPointerBuilder *attachmentBuilder = [SSKProtoAttachmentPointerBuilder new]; SSKProtoAttachmentPointerBuilder *attachmentBuilder = [SSKProtoAttachmentPointer builder];
attachmentBuilder.id = 1234; attachmentBuilder.id = 1234;
attachmentBuilder.contentType = @"image/png"; attachmentBuilder.contentType = @"image/png";
attachmentBuilder.key = [NSData new]; attachmentBuilder.key = [NSData new];
attachmentBuilder.size = 123; attachmentBuilder.size = 123;
groupContextBuilder.avatar = [attachmentBuilder buildIgnoringErrors]; groupContextBuilder.avatar = [attachmentBuilder buildIgnoringErrors];
SSKProtoDataMessageBuilder *messageBuilder = [SSKProtoDataMessageBuilder new]; SSKProtoDataMessageBuilder *messageBuilder = [SSKProtoDataMessage builder];
messageBuilder.group = [groupContextBuilder buildIgnoringErrors]; messageBuilder.group = [groupContextBuilder buildIgnoringErrors];
[messagesManager handleIncomingEnvelope:[envelopeBuilder buildIgnoringErrors] [messagesManager handleIncomingEnvelope:[envelopeBuilder buildIgnoringErrors]
@ -161,16 +161,16 @@ NS_ASSUME_NONNULL_BEGIN
OWSMessageManager *messagesManager = SSKEnvironment.shared.messageManager; OWSMessageManager *messagesManager = SSKEnvironment.shared.messageManager;
SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelopeBuilder new]; SSKProtoEnvelopeBuilder *envelopeBuilder = [SSKProtoEnvelope builder];
SSKProtoGroupContextBuilder *groupContextBuilder = [SSKProtoGroupContextBuilder new]; SSKProtoGroupContextBuilder *groupContextBuilder = [SSKProtoGroupContext builder];
groupContextBuilder.name = @"Newly created Group with Avatar Name"; groupContextBuilder.name = @"Newly created Group with Avatar Name";
groupContextBuilder.id = groupIdData; groupContextBuilder.id = groupIdData;
// e.g. some future feature sent from another device that we don't yet support. // e.g. some future feature sent from another device that we don't yet support.
groupContextBuilder.type = 666; groupContextBuilder.type = 666;
SSKProtoDataMessageBuilder *messageBuilder = [SSKProtoDataMessageBuilder new]; SSKProtoDataMessageBuilder *messageBuilder = [SSKProtoDataMessage builder];
messageBuilder.group = [groupContextBuilder buildIgnoringErrors]; messageBuilder.group = [groupContextBuilder buildIgnoringErrors];
[messagesManager handleIncomingEnvelope:[envelopeBuilder buildIgnoringErrors] [messagesManager handleIncomingEnvelope:[envelopeBuilder buildIgnoringErrors]