From 78fbcf28bb92d1dc3cdc7caddc3b15788144c400 Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Mon, 20 May 2019 15:36:42 +1000 Subject: [PATCH] Slightly simplify friend request removal --- SignalServiceKit/src/Contacts/TSThread.m | 18 ++++++------------ .../src/Messages/OWSMessageSender.m | 7 +++---- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/SignalServiceKit/src/Contacts/TSThread.m b/SignalServiceKit/src/Contacts/TSThread.m index 4e59c579f..c94c50e7b 100644 --- a/SignalServiceKit/src/Contacts/TSThread.m +++ b/SignalServiceKit/src/Contacts/TSThread.m @@ -700,27 +700,21 @@ ConversationColorName const kConversationColorName_Default = ConversationColorNa - (void)removeOutgoingFriendRequestMessagesWithTransaction:(YapDatabaseReadWriteTransaction *)transaction { - [self removeFriendRequestMessages:false withTransaction:transaction]; + [self removeFriendRequestMessages:OWSInteractionType_OutgoingMessage withTransaction:transaction]; } - (void)removeIncomingFriendRequestMessagesWithTransaction:(YapDatabaseReadWriteTransaction *)transaction { - [self removeFriendRequestMessages:true withTransaction:transaction]; + [self removeFriendRequestMessages:OWSInteractionType_IncomingMessage withTransaction:transaction]; } -- (void)removeFriendRequestMessages:(BOOL)incoming withTransaction:(YapDatabaseReadWriteTransaction *)transaction +- (void)removeFriendRequestMessages:(OWSInteractionType)interactionType withTransaction:(YapDatabaseReadWriteTransaction *)transaction { // If we're friends with the person then we don't need to remove any friend request messages - if (self.friendRequestStatus == TSThreadFriendRequestStatusFriends) { - return; - } + if (self.friendRequestStatus == TSThreadFriendRequestStatusFriends) { return; } - OWSInteractionType interactionType = incoming ? OWSInteractionType_IncomingMessage : OWSInteractionType_OutgoingMessage; - - [self enumerateInteractionsWithTransaction:transaction usingBlock:^(TSInteraction * _Nonnull interaction, YapDatabaseReadTransaction * _Nonnull transaction) { - if (interaction.interactionType != interactionType) { - return; - } + [self enumerateInteractionsWithTransaction:transaction usingBlock:^(TSInteraction *_Nonnull interaction, YapDatabaseReadTransaction *_Nonnull transaction) { + if (interaction.interactionType != interactionType) { return; } BOOL removeMessage = false; TSMessage *message = (TSMessage *)interaction; diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index f7651f553..aaaea1a38 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -1121,10 +1121,9 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { [message.thread saveFriendRequestStatus:TSThreadFriendRequestStatusRequestSent withTransaction:transaction]; [message.thread removeOutgoingFriendRequestMessagesWithTransaction:transaction]; - - // We also want to expire the message after 72 hours - NSTimeInterval expireTimeInterval = 72 * kHourInterval; - NSDate *expireDate = [[NSDate new] dateByAddingTimeInterval:expireTimeInterval]; + // Set the expiration date + NSTimeInterval expirationInterval = 72 * kHourInterval; + NSDate *expireDate = [[NSDate new] dateByAddingTimeInterval:expirationInterval]; [message saveFriendRequestExpiresAt:[NSDate ows_millisecondsSince1970ForDate:expireDate] withTransaction:transaction]; }]; }