Remove redundant code

pull/186/head
nielsandriesse 5 years ago
parent a2d065f3e6
commit f1dbac0791

@ -182,18 +182,6 @@ extern ConversationColorName const kConversationColorName_Default;
- (void)updateWithMutedUntilDate:(NSDate *)mutedUntilDate transaction:(YapDatabaseReadWriteTransaction *)transaction;
#pragma mark - Loki Friend Request Handling
/**
Remove any old outgoing friend request messages that failed to send.
*/
- (void)removeOldOutgoingFriendRequestMessagesIfNeededWithTransaction:(YapDatabaseReadWriteTransaction *)transaction;
/**
Remove any old incoming friend request messages that are pending.
*/
- (void)removeOldIncomingFriendRequestMessagesIfNeededWithTransaction:(YapDatabaseReadWriteTransaction *)transaction;
@end
NS_ASSUME_NONNULL_END

@ -710,65 +710,6 @@ ConversationColorName const kConversationColorName_Default = ConversationColorNa
#pragma mark - Loki Friend Request Handling
- (void)removeOldOutgoingFriendRequestMessagesIfNeededWithTransaction:(YapDatabaseReadWriteTransaction *)transaction
{
[self removeOldFriendRequestMessagesIfNeeded:OWSInteractionType_OutgoingMessage withTransaction:transaction];
}
- (void)removeOldIncomingFriendRequestMessagesIfNeededWithTransaction:(YapDatabaseReadWriteTransaction *)transaction
{
[self removeOldFriendRequestMessagesIfNeeded:OWSInteractionType_IncomingMessage withTransaction:transaction];
}
- (void)removeOldFriendRequestMessagesIfNeeded:(OWSInteractionType)interactionType withTransaction:(YapDatabaseReadWriteTransaction *)transaction
{
// Friend request status doesn't apply to group threads
if (self.isGroupThread) { return; }
// If we're friends with the other person then we don't need to remove any friend request messages
if ([LKFriendRequestProtocol isFriendsWithAnyLinkedDeviceOfHexEncodedPublicKey:self.contactIdentifier]) { return; }
NSMutableArray<NSString *> *idsToRemove = [NSMutableArray new];
__block TSMessage *_Nullable messageToKeep = nil;
[self enumerateInteractionsWithTransaction:transaction usingBlock:^(TSInteraction *interaction, YapDatabaseReadTransaction *transaction) {
if (interaction.interactionType != interactionType) { return; }
BOOL removeMessage = false;
TSMessage *message = (TSMessage *)interaction;
// We want to keep the most recent message
if (messageToKeep == nil || messageToKeep.timestamp < message.timestamp) {
messageToKeep = message;
}
// We want to remove any old incoming friend request messages which are pending
if (interactionType == OWSInteractionType_IncomingMessage) {
removeMessage = YES;
} else {
// Or if we're sending then remove any failed friend request messages
TSOutgoingMessage *outgoingMessage = (TSOutgoingMessage *)message;
removeMessage = outgoingMessage.friendRequestStatus == LKMessageFriendRequestStatusSendingOrFailed;
}
if (removeMessage) {
[idsToRemove addObject:interaction.uniqueId];
}
}];
for (NSString *interactionID in idsToRemove) {
// Don't delete the most recent message
if (messageToKeep != nil && interactionID == messageToKeep.uniqueId) { continue; }
// We need to fetch each interaction, since [TSInteraction removeWithTransaction:] does important work
TSInteraction *_Nullable interaction = [TSInteraction fetchObjectWithUniqueID:interactionID transaction:transaction];
if (interaction == nil) {
OWSFailDebug(@"Couldn't load interaction.");
continue;
}
[interaction removeWithTransaction:transaction];
}
}
- (BOOL)isContactFriend
{
return [LKFriendRequestProtocol getFriendRequestUIStatusForThread:self] == LKFriendRequestUIStatusFriends;

@ -1603,11 +1603,6 @@ NS_ASSUME_NONNULL_BEGIN
}
[incomingMessage saveWithTransaction:transaction];
// Loki: Remove any old incoming friend requests
if (incomingMessage.isFriendRequest) {
[thread removeOldIncomingFriendRequestMessagesIfNeededWithTransaction:transaction];
}
// Any messages sent from the current user - from this device or another - should be automatically marked as read.
if ([(masterThread.contactIdentifier ?: envelope.source) isEqualToString:self.tsAccountManager.localNumber]) {

@ -1219,10 +1219,6 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException";
if (signalMessage.isFriendRequest) {
[self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
if (!message.skipSave) {
[message.thread removeOldOutgoingFriendRequestMessagesIfNeededWithTransaction:transaction];
if ([message.thread isKindOfClass:[TSContactThread class]]) {
[((TSContactThread *) message.thread) removeAllSessionRestoreDevicesWithTransaction:transaction];
}
// Update the message
NSTimeInterval expirationInterval = 72 * kHourInterval;
NSDate *expirationDate = [[NSDate new] dateByAddingTimeInterval:expirationInterval];

Loading…
Cancel
Save