Add OWSFriendRequestMessage.

Re-organised files.

This is just a subclass of TSOutgoingMessage so it will work as any message would.
pull/12/head
Mikunj 6 years ago
parent d4d9be9f0c
commit 8b1d5ec26d

@ -1 +1 @@
Subproject commit de364c557a6e2f70e187b1c4a7852b4ea4b9b68a
Subproject commit 51a2b3e8610c1083db88502aaa76da1f352757da

@ -92,6 +92,7 @@
#import <SignalServiceKit/OWSEndSessionMessage.h>
#import <SignalServiceKit/OWSError.h>
#import <SignalServiceKit/OWSFileSystem.h>
#import <SignalServiceKit/OWSFriendRequestMessage.h>
#import <SignalServiceKit/OWSIdentityManager.h>
#import <SignalServiceKit/OWSMediaGalleryFinder.h>
#import <SignalServiceKit/OWSMessageManager.h>

@ -0,0 +1,10 @@
#import <SignalServiceKit/SignalServiceKit.h>
NS_ASSUME_NONNULL_BEGIN
NS_SWIFT_NAME(FriendRequestMessage)
@interface OWSFriendRequestMessage : TSOutgoingMessage
@end
NS_ASSUME_NONNULL_END

@ -0,0 +1,13 @@
#import "OWSFriendRequestMessage.h"
@implementation OWSFriendRequestMessage
- (SSKProtoContentBuilder *)contentBuilder {
SSKProtoContentBuilder *builder = [super contentBuilder];
// TODO: Attach pre-key bundle here
return builder;
}
@end

@ -46,6 +46,14 @@ NS_ASSUME_NONNULL_BEGIN
return builder;
}
- (SSKProtoContentBuilder *)contentBuilder {
SSKProtoContentBuilder *builder = [super contentBuilder];
// TODO Loki: Attach pre key bundle here
return builder;
}
@end
NS_ASSUME_NONNULL_END

@ -155,6 +155,12 @@ typedef NS_ENUM(NSInteger, TSGroupMetaMessage) {
*/
- (nullable SSKProtoDataMessageBuilder *)dataMessageBuilder;
/**
* Intermediate protobuf representation
* Subclasses can augment if they want to manipulate the content message before building.
*/
- (SSKProtoContentBuilder *)contentBuilder;
/**
* Should this message be synced to the users other registered devices? This is
* generally always true, except in the case of the sync messages themseleves

@ -1113,6 +1113,12 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
return dataProto;
}
- (SSKProtoContentBuilder *)contentBuilder
{
SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
return contentBuilder;
}
- (nullable NSData *)buildPlainTextData:(SignalRecipient *)recipient
{
NSError *error;
@ -1122,7 +1128,7 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
return nil;
}
SSKProtoContentBuilder *contentBuilder = [SSKProtoContent builder];
SSKProtoContentBuilder *contentBuilder = [self contentBuilder];
[contentBuilder setDataMessage:dataMessage];
NSData *_Nullable contentData = [contentBuilder buildSerializedDataAndReturnError:&error];
if (error || !contentData) {

@ -42,6 +42,7 @@
#import "TSRequest.h"
#import "TSSocketManager.h"
#import "TSThread.h"
#import "OWSFriendRequestMessage.h"
#import <AxolotlKit/AxolotlExceptions.h>
#import <AxolotlKit/CipherMessage.h>
#import <AxolotlKit/PreKeyBundle.h>
@ -1547,6 +1548,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException";
// This may involve blocking network requests, so we do it _before_
// we open a transaction.
// TODO: Replace this when we add in friend request stuff
// Boolean isFriendRequest = [messageSend.message isKindOfClass:[OWSFriendRequestMessage class]];
Boolean isFriendRequest = true;
if (!isFriendRequest) {
[self throws_ensureRecipientHasSessionForMessageSend:messageSend deviceId:deviceId];
@ -1783,6 +1785,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException";
OWSAssertDebug(recipientId.length > 0);
// TODO: Change this when we have friend request support
// Boolean isFriendRequest = [messageSend.message isKindOfClass:[OWSFriendRequestMessage class]];
Boolean isFriendRequest = true;
if (isFriendRequest) {
return [self throws_encryptedFriendMessageForMessageSend:messageSend deviceId:deviceId plainText:plainText];

Loading…
Cancel
Save