2017-08-24 21:42:21 +02:00
|
|
|
//
|
|
|
|
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import "OWSProfileKeyMessage.h"
|
|
|
|
#import "OWSSignalServiceProtos.pb.h"
|
|
|
|
#import "ProfileManagerProtocol.h"
|
|
|
|
#import "ProtoBuf+OWS.h"
|
|
|
|
#import "TextSecureKitEnv.h"
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
|
|
@implementation OWSProfileKeyMessage
|
|
|
|
|
2017-11-15 23:53:16 +01:00
|
|
|
- (BOOL)shouldBeSaved
|
2017-08-24 21:42:21 +02:00
|
|
|
{
|
2017-11-15 23:53:16 +01:00
|
|
|
return NO;
|
2017-08-24 21:42:21 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
- (BOOL)shouldSyncTranscript
|
|
|
|
{
|
|
|
|
return NO;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (OWSSignalServiceProtosDataMessage *)buildDataMessage:(NSString *_Nullable)recipientId
|
|
|
|
{
|
|
|
|
OWSAssert(self.thread);
|
|
|
|
|
|
|
|
OWSSignalServiceProtosDataMessageBuilder *builder = [self dataMessageBuilder];
|
|
|
|
[builder addLocalProfileKey];
|
2017-10-02 22:03:17 +02:00
|
|
|
[builder setFlags:OWSSignalServiceProtosDataMessageFlagsProfileKeyUpdate];
|
2017-08-24 21:42:21 +02:00
|
|
|
|
|
|
|
if (recipientId.length > 0) {
|
|
|
|
// Once we've shared our profile key with a user (perhaps due to being
|
|
|
|
// a member of a whitelisted group), make sure they're whitelisted.
|
|
|
|
id<ProfileManagerProtocol> profileManager = [TextSecureKitEnv sharedEnv].profileManager;
|
2017-09-25 05:51:58 +02:00
|
|
|
[profileManager addUserToProfileWhitelist:recipientId];
|
2017-08-24 21:42:21 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return [builder build];
|
|
|
|
}
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|