pull/183/head
nielsandriesse 6 years ago
parent e108a3db96
commit 7e0435e009

@ -125,16 +125,20 @@ final class FriendRequestView : UIView {
} }
label.text = String(format: format, displayName) label.text = String(format: format, displayName)
case .outgoing: case .outgoing:
let format: String let format: String?
switch friendRequestStatus { 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 .friends: format = NSLocalizedString("%@ accepted your session request", comment: "")
case .received: return // Should never occur case .received: return // Should never occur
case .sent: format = NSLocalizedString("You've sent %@ a session request", comment: "") case .sent: format = NSLocalizedString("You've sent %@ a session request", comment: "")
case .expired: format = NSLocalizedString("Your session request to %@ has expired", comment: "") case .expired: format = NSLocalizedString("Your session request to %@ has expired", comment: "")
} }
if let format = format {
label.text = String(format: format, displayName) label.text = String(format: format, displayName)
} }
label.isHidden = (format == nil)
spacer1.isHidden = label.isHidden
}
} }
// MARK: Interaction // MARK: Interaction

@ -40,7 +40,6 @@ typedef NS_ENUM(NSInteger, LKMessageFriendRequestStatus) {
@property (nonatomic, nullable) OWSLinkPreview *linkPreview; @property (nonatomic, nullable) OWSLinkPreview *linkPreview;
// Loki friend request handling // Loki friend request handling
@property (nonatomic) LKMessageFriendRequestStatus friendRequestStatus __deprecated_msg("no longer used as of version 1.1.2"); @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) uint64_t friendRequestExpiresAt;
@property (nonatomic, readonly) BOOL isFriendRequest; @property (nonatomic, readonly) BOOL isFriendRequest;
@property (nonatomic, readonly) BOOL hasFriendRequestStatusMessage; @property (nonatomic, readonly) BOOL hasFriendRequestStatusMessage;

@ -16,6 +16,7 @@
#import <SignalServiceKit/SignalServiceKit-Swift.h> #import <SignalServiceKit/SignalServiceKit-Swift.h>
#import <YapDatabase/YapDatabase.h> #import <YapDatabase/YapDatabase.h>
#import <YapDatabase/YapDatabaseTransaction.h> #import <YapDatabase/YapDatabaseTransaction.h>
#import "OWSPrimaryStorage+Loki.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@ -449,7 +450,6 @@ static const NSUInteger OWSMessageSchemaVersion = 4;
- (void)saveFriendRequestStatus:(LKMessageFriendRequestStatus)friendRequestStatus withTransaction:(YapDatabaseReadWriteTransaction *_Nullable)transaction - (void)saveFriendRequestStatus:(LKMessageFriendRequestStatus)friendRequestStatus withTransaction:(YapDatabaseReadWriteTransaction *_Nullable)transaction
{ {
self.friendRequestStatus = friendRequestStatus; self.friendRequestStatus = friendRequestStatus;
[LKLogger print:[NSString stringWithFormat:@"[Loki] Setting message friend request status to %@.", self.friendRequestStatusDescription]];
void (^postNotification)() = ^() { void (^postNotification)() = ^() {
[NSNotificationCenter.defaultCenter postNotificationName:NSNotification.messageFriendRequestStatusChanged object:self.uniqueId]; [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 - (void)saveFriendRequestExpiresAt:(u_int64_t)expiresAt withTransaction:(YapDatabaseReadWriteTransaction *_Nullable)transaction
{ {
self.friendRequestExpiresAt = expiresAt; self.friendRequestExpiresAt = expiresAt;
@ -486,12 +474,19 @@ static const NSUInteger OWSMessageSchemaVersion = 4;
- (BOOL)isFriendRequest - (BOOL)isFriendRequest
{ {
return self.friendRequestStatus != LKMessageFriendRequestStatusNone; return self.friendRequestExpiresAt != 0;
} }
- (BOOL)hasFriendRequestStatusMessage - (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 #pragma mark - Open Groups

Loading…
Cancel
Save