// // Copyright (c) 2019 Open Whisper Systems. All rights reserved. // #import "OWSBlockedPhoneNumbersMessage.h" #import NS_ASSUME_NONNULL_BEGIN @interface OWSBlockedPhoneNumbersMessage () @property (nonatomic, readonly) NSArray *phoneNumbers; @property (nonatomic, readonly) NSArray *uuids; @property (nonatomic, readonly) NSArray *groupIds; @end @implementation OWSBlockedPhoneNumbersMessage - (nullable instancetype)initWithCoder:(NSCoder *)coder { return [super initWithCoder:coder]; } - (instancetype)initWithThread:(TSThread *)thread phoneNumbers:(NSArray *)phoneNumbers uuids:(NSArray *)uuids groupIds:(NSArray *)groupIds { self = [super initWithThread:thread]; if (!self) { return self; } _phoneNumbers = [phoneNumbers copy]; _uuids = [uuids copy]; _groupIds = [groupIds copy]; return self; } - (nullable SSKProtoSyncMessageBuilder *)syncMessageBuilderWithTransaction:(SDSAnyReadTransaction *)transaction { SSKProtoSyncMessageBlockedBuilder *blockedBuilder = [SSKProtoSyncMessageBlocked builder]; [blockedBuilder setNumbers:_phoneNumbers]; [blockedBuilder setUuids:_uuids]; [blockedBuilder setGroupIds:_groupIds]; NSError *error; SSKProtoSyncMessageBlocked *_Nullable blockedProto = [blockedBuilder buildAndReturnError:&error]; if (error || !blockedProto) { OWSFailDebug(@"could not build protobuf: %@", error); return nil; } SSKProtoSyncMessageBuilder *syncMessageBuilder = [SSKProtoSyncMessage builder]; [syncMessageBuilder setBlocked:blockedProto]; return syncMessageBuilder; } @end NS_ASSUME_NONNULL_END