|
|
@ -4,6 +4,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
#import "OWSRecordTranscriptJob.h"
|
|
|
|
#import "OWSRecordTranscriptJob.h"
|
|
|
|
#import "OWSAttachmentsProcessor.h"
|
|
|
|
#import "OWSAttachmentsProcessor.h"
|
|
|
|
|
|
|
|
#import "OWSDisappearingMessagesJob.h"
|
|
|
|
#import "OWSIncomingSentMessageTranscript.h"
|
|
|
|
#import "OWSIncomingSentMessageTranscript.h"
|
|
|
|
#import "OWSMessageSender.h"
|
|
|
|
#import "OWSMessageSender.h"
|
|
|
|
#import "OWSReadReceiptManager.h"
|
|
|
|
#import "OWSReadReceiptManager.h"
|
|
|
@ -21,6 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@property (nonatomic, readonly) TSNetworkManager *networkManager;
|
|
|
|
@property (nonatomic, readonly) TSNetworkManager *networkManager;
|
|
|
|
@property (nonatomic, readonly) TSStorageManager *storageManager;
|
|
|
|
@property (nonatomic, readonly) TSStorageManager *storageManager;
|
|
|
|
@property (nonatomic, readonly) OWSReadReceiptManager *readReceiptManager;
|
|
|
|
@property (nonatomic, readonly) OWSReadReceiptManager *readReceiptManager;
|
|
|
|
|
|
|
|
@property (nonatomic, readonly) id<ContactsManagerProtocol> contactsManager;
|
|
|
|
|
|
|
|
|
|
|
|
@property (nonatomic, readonly) OWSIncomingSentMessageTranscript *incomingSentMessageTranscript;
|
|
|
|
@property (nonatomic, readonly) OWSIncomingSentMessageTranscript *incomingSentMessageTranscript;
|
|
|
|
|
|
|
|
|
|
|
@ -34,7 +36,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
messageSender:[TextSecureKitEnv sharedEnv].messageSender
|
|
|
|
messageSender:[TextSecureKitEnv sharedEnv].messageSender
|
|
|
|
networkManager:TSNetworkManager.sharedManager
|
|
|
|
networkManager:TSNetworkManager.sharedManager
|
|
|
|
storageManager:TSStorageManager.sharedManager
|
|
|
|
storageManager:TSStorageManager.sharedManager
|
|
|
|
readReceiptManager:OWSReadReceiptManager.sharedManager];
|
|
|
|
readReceiptManager:OWSReadReceiptManager.sharedManager
|
|
|
|
|
|
|
|
contactsManager:[TextSecureKitEnv sharedEnv].contactsManager];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
- (instancetype)initWithIncomingSentMessageTranscript:(OWSIncomingSentMessageTranscript *)incomingSentMessageTranscript
|
|
|
|
- (instancetype)initWithIncomingSentMessageTranscript:(OWSIncomingSentMessageTranscript *)incomingSentMessageTranscript
|
|
|
@ -42,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
networkManager:(TSNetworkManager *)networkManager
|
|
|
|
networkManager:(TSNetworkManager *)networkManager
|
|
|
|
storageManager:(TSStorageManager *)storageManager
|
|
|
|
storageManager:(TSStorageManager *)storageManager
|
|
|
|
readReceiptManager:(OWSReadReceiptManager *)readReceiptManager
|
|
|
|
readReceiptManager:(OWSReadReceiptManager *)readReceiptManager
|
|
|
|
|
|
|
|
contactsManager:(id<ContactsManagerProtocol>)contactsManager
|
|
|
|
{
|
|
|
|
{
|
|
|
|
self = [super init];
|
|
|
|
self = [super init];
|
|
|
|
if (!self) {
|
|
|
|
if (!self) {
|
|
|
@ -53,6 +57,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
_networkManager = networkManager;
|
|
|
|
_networkManager = networkManager;
|
|
|
|
_storageManager = storageManager;
|
|
|
|
_storageManager = storageManager;
|
|
|
|
_readReceiptManager = readReceiptManager;
|
|
|
|
_readReceiptManager = readReceiptManager;
|
|
|
|
|
|
|
|
_contactsManager = contactsManager;
|
|
|
|
|
|
|
|
|
|
|
|
return self;
|
|
|
|
return self;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -108,11 +113,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: Refactor this logic. Most of it doesn't belong in `OWSMessageSender`.
|
|
|
|
[outgoingMessage updateWithWasSentFromLinkedDeviceWithTransaction:transaction];
|
|
|
|
[self.messageSender handleMessageSentRemotely:outgoingMessage
|
|
|
|
[OWSDisappearingMessagesJob becomeConsistentWithConfigurationForMessage:outgoingMessage
|
|
|
|
sentAt:transcript.expirationStartedAt
|
|
|
|
contactsManager:self.contactsManager];
|
|
|
|
transaction:transaction];
|
|
|
|
[OWSDisappearingMessagesJob setExpirationForMessage:outgoingMessage
|
|
|
|
|
|
|
|
expirationStartedAt:transcript.expirationStartedAt];
|
|
|
|
[self.readReceiptManager applyEarlyReadReceiptsForOutgoingMessageFromLinkedDevice:outgoingMessage
|
|
|
|
[self.readReceiptManager applyEarlyReadReceiptsForOutgoingMessageFromLinkedDevice:outgoingMessage
|
|
|
|
transaction:transaction];
|
|
|
|
transaction:transaction];
|
|
|
|
|
|
|
|
|
|
|
|