Add 'is ud' property to incoming messages.

This commit is contained in:
Matthew Chen 2018-10-10 10:17:58 -04:00
parent 68f1c75f30
commit cba8c67983
5 changed files with 23 additions and 10 deletions

View File

@ -391,7 +391,8 @@ private class MockIncomingMessage: TSIncomingMessage {
expiresInSeconds: 0,
quotedMessage: nil,
contactShare: nil,
serverTimestamp: nil)
serverTimestamp: nil,
wasReceivedByUD: false)
}
required init(coder: NSCoder) {

View File

@ -3727,7 +3727,8 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
expiresInSeconds:0
quotedMessage:nil
contactShare:nil
serverTimestamp:nil];
serverTimestamp:nil
wasReceivedByUD:NO];
[message markAsReadNowWithSendReadReceipt:NO transaction:transaction];
break;
}
@ -3767,7 +3768,8 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
expiresInSeconds:0
quotedMessage:nil
contactShare:nil
serverTimestamp:nil];
serverTimestamp:nil
wasReceivedByUD:NO];
[message markAsReadNowWithSendReadReceipt:NO transaction:transaction];
break;
}
@ -4229,7 +4231,8 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
expiresInSeconds:0
quotedMessage:nil
contactShare:nil
serverTimestamp:nil];
serverTimestamp:nil
wasReceivedByUD:NO];
[message markAsReadNowWithSendReadReceipt:NO transaction:transaction];
}
{
@ -4270,7 +4273,8 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
expiresInSeconds:60
quotedMessage:nil
contactShare:nil
serverTimestamp:nil];
serverTimestamp:nil
wasReceivedByUD:NO];
// private setter to avoid starting expire machinery.
message.read = YES;
[message save];
@ -4592,7 +4596,8 @@ typedef OWSContact * (^OWSContactBlock)(YapDatabaseReadWriteTransaction *transac
expiresInSeconds:0
quotedMessage:quotedMessage
contactShare:nil
serverTimestamp:nil];
serverTimestamp:nil
wasReceivedByUD:NO];
[message markAsReadNowWithSendReadReceipt:NO transaction:transaction];
return message;
}

View File

@ -14,6 +14,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, readonly, nullable) NSNumber *serverTimestamp;
@property (nonatomic, readonly) BOOL wasReceivedByUD;
- (instancetype)initMessageWithTimestamp:(uint64_t)timestamp
inThread:(nullable TSThread *)thread
messageBody:(nullable NSString *)body
@ -54,7 +56,8 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:(uint32_t)expiresInSeconds
quotedMessage:(nullable TSQuotedMessage *)quotedMessage
contactShare:(nullable OWSContact *)contactShare
serverTimestamp:(nullable NSNumber *)serverTimestamp NS_DESIGNATED_INITIALIZER;
serverTimestamp:(nullable NSNumber *)serverTimestamp
wasReceivedByUD:(BOOL)wasReceivedByUD NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;

View File

@ -48,7 +48,7 @@ NS_ASSUME_NONNULL_BEGIN
quotedMessage:(nullable TSQuotedMessage *)quotedMessage
contactShare:(nullable OWSContact *)contactShare
serverTimestamp:(nullable NSNumber *)serverTimestamp
{
wasReceivedByUD:(BOOL)wasReceivedByUD {
self = [super initMessageWithTimestamp:timestamp
inThread:thread
messageBody:body
@ -66,6 +66,7 @@ NS_ASSUME_NONNULL_BEGIN
_sourceDeviceId = sourceDeviceId;
_read = NO;
_serverTimestamp = serverTimestamp;
_wasReceivedByUD = wasReceivedByUD;
return self;
}

View File

@ -1115,6 +1115,7 @@ NS_ASSUME_NONNULL_BEGIN
NSData *groupId = dataMessage.group ? dataMessage.group.id : nil;
OWSContact *_Nullable contact = [OWSContacts contactForDataMessage:dataMessage transaction:transaction];
NSNumber *_Nullable serverTimestamp = (envelope.hasServerTimestamp ? @(envelope.serverTimestamp) : nil);
BOOL wasReceivedByUD = envelope.type == SSKProtoEnvelopeTypeUnidentifiedSender;
if (dataMessage.group.type == SSKProtoGroupContextTypeRequestInfo) {
[self handleGroupInfoRequest:envelope dataMessage:dataMessage transaction:transaction];
@ -1229,7 +1230,8 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:dataMessage.expireTimer
quotedMessage:quotedMessage
contactShare:contact
serverTimestamp:serverTimestamp];
serverTimestamp:serverTimestamp
wasReceivedByUD:wasReceivedByUD];
[self finalizeIncomingMessage:incomingMessage
thread:oldGroupThread
@ -1269,7 +1271,8 @@ NS_ASSUME_NONNULL_BEGIN
expiresInSeconds:dataMessage.expireTimer
quotedMessage:quotedMessage
contactShare:contact
serverTimestamp:serverTimestamp];
serverTimestamp:serverTimestamp
wasReceivedByUD:wasReceivedByUD];
[self finalizeIncomingMessage:incomingMessage
thread:thread