From 7e0435e0099338e25ce9dbb33821f57f2cc5dad3 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Mon, 4 May 2020 11:38:10 +1000 Subject: [PATCH] Debug --- .../Loki/Components/FriendRequestView.swift | 10 +++++--- .../src/Messages/Interactions/TSMessage.h | 1 - .../src/Messages/Interactions/TSMessage.m | 25 ++++++++----------- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/Signal/src/Loki/Components/FriendRequestView.swift b/Signal/src/Loki/Components/FriendRequestView.swift index b6e2860b2..748d3006b 100644 --- a/Signal/src/Loki/Components/FriendRequestView.swift +++ b/Signal/src/Loki/Components/FriendRequestView.swift @@ -125,15 +125,19 @@ final class FriendRequestView : UIView { } label.text = String(format: format, displayName) case .outgoing: - let format: String + let format: String? switch friendRequestStatus { - case .none: return // Should never occur + case .none: format = nil // The message failed to send case .friends: format = NSLocalizedString("%@ accepted your session request", comment: "") case .received: return // Should never occur case .sent: format = NSLocalizedString("You've sent %@ a session request", comment: "") case .expired: format = NSLocalizedString("Your session request to %@ has expired", comment: "") } - label.text = String(format: format, displayName) + if let format = format { + label.text = String(format: format, displayName) + } + label.isHidden = (format == nil) + spacer1.isHidden = label.isHidden } } diff --git a/SignalServiceKit/src/Messages/Interactions/TSMessage.h b/SignalServiceKit/src/Messages/Interactions/TSMessage.h index c563f103d..bca04ac94 100644 --- a/SignalServiceKit/src/Messages/Interactions/TSMessage.h +++ b/SignalServiceKit/src/Messages/Interactions/TSMessage.h @@ -40,7 +40,6 @@ typedef NS_ENUM(NSInteger, LKMessageFriendRequestStatus) { @property (nonatomic, nullable) OWSLinkPreview *linkPreview; // Loki friend request handling @property (nonatomic) LKMessageFriendRequestStatus friendRequestStatus __deprecated_msg("no longer used as of version 1.1.2"); -@property (nonatomic, readonly) NSString *friendRequestStatusDescription; @property (nonatomic) uint64_t friendRequestExpiresAt; @property (nonatomic, readonly) BOOL isFriendRequest; @property (nonatomic, readonly) BOOL hasFriendRequestStatusMessage; diff --git a/SignalServiceKit/src/Messages/Interactions/TSMessage.m b/SignalServiceKit/src/Messages/Interactions/TSMessage.m index baadfd461..c05776586 100644 --- a/SignalServiceKit/src/Messages/Interactions/TSMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/TSMessage.m @@ -16,6 +16,7 @@ #import #import #import +#import "OWSPrimaryStorage+Loki.h" NS_ASSUME_NONNULL_BEGIN @@ -449,7 +450,6 @@ static const NSUInteger OWSMessageSchemaVersion = 4; - (void)saveFriendRequestStatus:(LKMessageFriendRequestStatus)friendRequestStatus withTransaction:(YapDatabaseReadWriteTransaction *_Nullable)transaction { self.friendRequestStatus = friendRequestStatus; - [LKLogger print:[NSString stringWithFormat:@"[Loki] Setting message friend request status to %@.", self.friendRequestStatusDescription]]; void (^postNotification)() = ^() { [NSNotificationCenter.defaultCenter postNotificationName:NSNotification.messageFriendRequestStatusChanged object:self.uniqueId]; }; @@ -462,18 +462,6 @@ static const NSUInteger OWSMessageSchemaVersion = 4; } } -- (NSString *)friendRequestStatusDescription -{ - switch (self.friendRequestStatus) { - case LKMessageFriendRequestStatusNone: return @"none"; - case LKMessageFriendRequestStatusSendingOrFailed: return @"sending or failed"; - case LKMessageFriendRequestStatusPending: return @"pending"; - case LKMessageFriendRequestStatusAccepted: return @"accepted"; - case LKMessageFriendRequestStatusDeclined: return @"declined"; - case LKMessageFriendRequestStatusExpired: return @"expired"; - } -} - - (void)saveFriendRequestExpiresAt:(u_int64_t)expiresAt withTransaction:(YapDatabaseReadWriteTransaction *_Nullable)transaction { self.friendRequestExpiresAt = expiresAt; @@ -486,12 +474,19 @@ static const NSUInteger OWSMessageSchemaVersion = 4; - (BOOL)isFriendRequest { - return self.friendRequestStatus != LKMessageFriendRequestStatusNone; + return self.friendRequestExpiresAt != 0; } - (BOOL)hasFriendRequestStatusMessage { - return self.isFriendRequest && self.friendRequestStatus != LKMessageFriendRequestStatusSendingOrFailed; + NSString *contactID = self.thread.contactIdentifier; + if (contactID == nil) { return NO; } + OWSPrimaryStorage *storage = OWSPrimaryStorage.sharedManager; + __block LKFriendRequestStatus friendRequestStatus; + [storage.dbReadConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) { + friendRequestStatus = [storage getFriendRequestStatusForContact:contactID transaction:transaction]; + }]; + return self.isFriendRequest && friendRequestStatus != LKFriendRequestStatusNone; } #pragma mark - Open Groups