Avoid blocking app launch

// FREEBIE
pull/1/head
Michael Kirk 9 years ago
parent f256617636
commit ff9729f421

@ -21,8 +21,8 @@ typedef void (^failedBlock)(NSError *error);
* *
* @return registered or not * @return registered or not
*/ */
+ (BOOL)isRegistered; + (BOOL)isRegistered;
+ (void)runIfRegistered:(void (^)())block;
/** /**
* Returns registered number * Returns registered number

@ -40,6 +40,11 @@
return [TSStorageManager localNumber] ? YES : NO; return [TSStorageManager localNumber] ? YES : NO;
} }
+ (void)runIfRegistered:(void (^)())block
{
[[TSStorageManager sharedManager] runIfHasLocalNumber:block];
}
+ (void)didRegister { + (void)didRegister {
TSAccountManager *sharedManager = [self sharedInstance]; TSAccountManager *sharedManager = [self sharedInstance];
__strong NSString *phoneNumber = sharedManager.phoneNumberAwaitingVerification; __strong NSString *phoneNumber = sharedManager.phoneNumberAwaitingVerification;

@ -33,8 +33,8 @@
* *
* @return E164 string of the registered phone number * @return E164 string of the registered phone number
*/ */
+ (NSString *)localNumber; + (NSString *)localNumber;
- (void)runIfHasLocalNumber:(void (^)())block;
+ (void)storeServerToken:(NSString *)authToken signalingKey:(NSString *)signalingKey; + (void)storeServerToken:(NSString *)authToken signalingKey:(NSString *)signalingKey;

@ -14,6 +14,17 @@
return [[self sharedManager] stringForKey:TSStorageRegisteredNumberKey inCollection:TSStorageUserAccountCollection]; return [[self sharedManager] stringForKey:TSStorageRegisteredNumberKey inCollection:TSStorageUserAccountCollection];
} }
- (void)runIfHasLocalNumber:(void (^)())block
{
[self.newDatabaseConnection asyncReadWithBlock:^(YapDatabaseReadTransaction *_Nonnull transaction) {
if ([transaction objectForKey:TSStorageRegisteredNumberKey inCollection:TSStorageUserAccountCollection]) {
block();
} else {
DDLogDebug(@"%@ Skipping block since no local number is registered", self.tag);
}
}];
}
+ (NSString *)signalingKey { + (NSString *)signalingKey {
return [[self sharedManager] stringForKey:TSStorageServerSignalingKey inCollection:TSStorageUserAccountCollection]; return [[self sharedManager] stringForKey:TSStorageServerSignalingKey inCollection:TSStorageUserAccountCollection];
} }
@ -44,4 +55,16 @@
}]; }];
} }
#pragma mark - Logging
+ (NSString *)tag
{
return [NSString stringWithFormat:@"[%@]", self.class];
}
- (NSString *)tag
{
return self.class.tag;
}
@end @end

Loading…
Cancel
Save