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

@ -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
}
}

@ -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;

@ -16,6 +16,7 @@
#import <SignalServiceKit/SignalServiceKit-Swift.h>
#import <YapDatabase/YapDatabase.h>
#import <YapDatabase/YapDatabaseTransaction.h>
#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

Loading…
Cancel
Save