pull/175/head
nielsandriesse 5 years ago
parent fce6fe1170
commit e60dfe99c5

@ -102,7 +102,7 @@ NS_ASSUME_NONNULL_BEGIN
}
if ([self isVersion:previousVersion lessThan:@"1.1.2"] && [self.tsAccountManager isRegistered]) {
[self moveFriendRequestStatusFromThread];
[self updateFriendRequestStatusStorage];
}
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
@ -212,18 +212,16 @@ NS_ASSUME_NONNULL_BEGIN
# pragma mark Loki - Upgrading Friend Request Status
// Versions less than or equal to 1.1.1 stored friend request status on the thread
+ (void)moveFriendRequestStatusFromThread
// Versions less than or equal to 1.1.1 stored the friend request status on the thread
+ (void)updateFriendRequestStatusStorage
{
OWSPrimaryStorage *storage = OWSPrimaryStorage.sharedManager;
[OWSPrimaryStorage.dbReadWriteConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction * _Nonnull transaction) {
[OWSPrimaryStorage.dbReadWriteConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
NSArray *threads = [TSThread allObjectsInCollection];
for (TSThread *thread in threads) {
if (!thread.isGroupThread) {
NSString *hexEncodedPublicKey = thread.contactIdentifier;
[storage setFriendRequestStatus:thread.friendRequestStatus forContact:hexEncodedPublicKey transaction:transaction];
}
if (thread.isGroupThread) { return; }
NSString *hexEncodedPublicKey = thread.contactIdentifier;
[storage setFriendRequestStatus:thread.friendRequestStatus forContact:hexEncodedPublicKey transaction:transaction];
}
}];
}

@ -40,7 +40,7 @@ extern ConversationColorName const kConversationColorName_Default;
@property (nonatomic, readonly) TSInteraction *lastInteraction;
// Loki friend request handling
// ========
@property (nonatomic) NSInteger friendRequestStatus __deprecated_msg("use OWSPrimaryStorage.getFriendReeuqstStatusForContact instead");
@property (nonatomic) NSInteger friendRequestStatus __deprecated_msg("use OWSPrimaryStorage.getFriendRequestStatusForContact:transaction: instead");
@property (nonatomic, readonly) NSString *friendRequestStatusDescription;
/// Shorthand for checking that `friendRequestStatus` is `LKThreadFriendRequestStatusRequestSending`, `LKThreadFriendRequestStatusRequestSent`
/// or `LKThreadFriendRequestStatusRequestReceived`.

@ -17,7 +17,7 @@ typedef NS_ENUM(NSInteger, LKFriendRequestStatus) {
LKFriendRequestStatusRequestSent,
/// Friend request received; awaiting user input.
LKFriendRequestStatusRequestReceived,
/// We are friends with the other user.
/// We're friends with the other user.
LKFriendRequestStatusFriends,
/// A friend request was sent, but it timed out (i.e. the other user didn't accept within the allocated time).
LKFriendRequestStatusRequestExpired
@ -60,7 +60,7 @@ typedef NS_ENUM(NSInteger, LKFriendRequestStatus) {
- (void)setRestorationTime:(NSTimeInterval)time;
- (NSTimeInterval)getRestorationTime;
# pragma mark - Friend Request
# pragma mark - Friend Requests
- (LKFriendRequestStatus)getFriendRequestStatusForContact:(NSString *)hexEncodedPublicKey transaction:(YapDatabaseReadTransaction *)transaction NS_SWIFT_NAME(getFriendRequestStatus(for:transaction:));
- (void)setFriendRequestStatus:(LKFriendRequestStatus)friendRequestStatus forContact:(NSString *)hexEncodedPublicKey transaction:(YapDatabaseReadWriteTransaction *)transaction NS_SWIFT_NAME(setFriendRequestStatus(_:for:transaction:));

@ -222,15 +222,13 @@
return [self.dbReadConnection doubleForKey:@"restoration_time" inCollection:LKGeneralCollection defaultValue:0];
}
# pragma mark - Friend Request
# pragma mark - Friend Requests
#define LKFriendRequestCollection @"LKFriendRequestCollection"
- (LKFriendRequestStatus)getFriendRequestStatusForContact:(NSString *)hexEncodedPublicKey transaction:( YapDatabaseReadTransaction *)transaction {
- (LKFriendRequestStatus)getFriendRequestStatusForContact:(NSString *)hexEncodedPublicKey transaction:(YapDatabaseReadTransaction *)transaction {
NSNumber *_Nullable status = [transaction objectForKey:hexEncodedPublicKey inCollection:LKFriendRequestCollection];
if (status == nil) { return LKFriendRequestStatusNone; }
return [status integerValue];
}

Loading…
Cancel
Save