Skip to content

Commit 6839851

Browse files
authored
Add nil check for completion handlers (#568)
* Add nullability check for completion handler * Addresses comments * added line break
1 parent 3b97d50 commit 6839851

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

Example/Auth/Sample/MainViewController.m

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,18 @@
3838
#import "UserInfoViewController.h"
3939
#import "UserTableViewCell.h"
4040

41+
NS_ASSUME_NONNULL_BEGIN
4142

42-
/*! @typedef textInputCompletionBlock
43+
/** @typedef textInputCompletionBlock
4344
@brief The type of callback used to report text input prompt results.
4445
*/
4546
typedef void (^textInputCompletionBlock)(NSString *_Nullable userInput);
4647

48+
/** @typedef testAutomationCallback
49+
@brief The type of callback used when automatically testing an API.
50+
*/
51+
typedef void (^testAutomationCallback)(NSError *_Nullable error);
52+
4753
/** @var kTokenGetButtonText
4854
@brief The text of the "Get Token" button.
4955
*/
@@ -2187,18 +2193,20 @@ - (void)showEmailPasswordDialogWithCompletion:(ShowEmailPasswordDialogCompletion
21872193
@completion A completion block to be executed after the provider is unlinked.
21882194
*/
21892195
- (void)unlinkFromProvider:(NSString *)provider
2190-
completion:(void(^)(NSError *_Nullable))completion {
2196+
completion:(nullable testAutomationCallback)completion {
21912197
[[self user] unlinkFromProvider:provider
21922198
completion:^(FIRUser *_Nullable user,
21932199
NSError *_Nullable error) {
21942200
if (error) {
21952201
[self logFailure:@"unlink auth provider failed" error:error];
2196-
completion(error);
2197-
} else {
2198-
[self logSuccess:@"unlink auth provider succeeded."];
21992202
if (completion) {
2200-
completion(nil);
2203+
completion(error);
22012204
}
2205+
return;
2206+
}
2207+
[self logSuccess:@"unlink auth provider succeeded."];
2208+
if (completion) {
2209+
completion(nil);
22022210
}
22032211
[self showTypicalUIForUserUpdateResultsWithTitle:kUnlinkTitle error:error];
22042212
}];
@@ -2642,7 +2650,7 @@ - (void)signInWithPhoneNumber {
26422650
@completion A completion block to be executed after successful phone number sign in.
26432651
*/
26442652
- (void)signInWithPhoneNumber:(NSString *_Nullable)phoneNumber
2645-
completion:(void(^)(NSError *_Nullable))completion {
2653+
completion:(nullable testAutomationCallback)completion {
26462654
[self showSpinner:^{
26472655
[[AppManager phoneAuthProvider] verifyPhoneNumber:phoneNumber
26482656
UIDelegate:nil
@@ -2727,7 +2735,7 @@ - (void)commontPhoneVerificationWithVerificationID:(NSString *)verificationID
27272735
@completion A completion block to be executed after phone number is updated.
27282736
*/
27292737
- (void)updatePhoneNumber:(NSString *_Nullable)phoneNumber
2730-
completion:(void(^)(NSError *_Nullable))completion{
2738+
completion:(nullable testAutomationCallback)completion {
27312739
[self showSpinner:^{
27322740
[[AppManager phoneAuthProvider] verifyPhoneNumber:phoneNumber
27332741
UIDelegate:nil
@@ -2736,7 +2744,9 @@ - (void)updatePhoneNumber:(NSString *_Nullable)phoneNumber
27362744
if (error) {
27372745
[self logFailure:@"failed to send verification code" error:error];
27382746
[self showMessagePrompt:error.localizedDescription];
2739-
completion(error);
2747+
if (completion) {
2748+
completion(error);
2749+
}
27402750
return;
27412751
}
27422752
[self logSuccess:@"Code sent"];
@@ -2757,7 +2767,9 @@ - (void)updatePhoneNumber:(NSString *_Nullable)phoneNumber
27572767
if (error) {
27582768
[self logFailure:@"update phone number failed" error:error];
27592769
[self showMessagePrompt:error.localizedDescription];
2760-
completion(error);
2770+
if (completion) {
2771+
completion(error);
2772+
}
27612773
} else {
27622774
[self logSuccess:@"update phone number succeeded."];
27632775
if (completion) {
@@ -2794,7 +2806,7 @@ - (void)updatePhoneNumberWithPrompt {
27942806
@completion A completion block to be executed after linking phone number.
27952807
*/
27962808
- (void)linkPhoneNumber:(NSString *_Nullable)phoneNumber
2797-
completion:(void(^)(NSError *_Nullable))completion{
2809+
completion:(nullable testAutomationCallback)completion {
27982810
[self showSpinner:^{
27992811
[[AppManager phoneAuthProvider] verifyPhoneNumber:phoneNumber
28002812
UIDelegate:nil
@@ -2804,7 +2816,9 @@ - (void)linkPhoneNumber:(NSString *_Nullable)phoneNumber
28042816
if (error) {
28052817
[self logFailure:@"failed to send verification code" error:error];
28062818
[self showMessagePrompt:error.localizedDescription];
2807-
completion(error);
2819+
if (completion) {
2820+
completion(error);
2821+
}
28082822
return;
28092823
}
28102824
[self logSuccess:@"Code sent"];
@@ -2845,7 +2859,9 @@ - (void)linkPhoneNumber:(NSString *_Nullable)phoneNumber
28452859
if (error) {
28462860
[self logFailure:@"failed to verify phone number" error:error];
28472861
[self showMessagePrompt:error.localizedDescription];
2848-
completion(error);
2862+
if (completion) {
2863+
completion(error);
2864+
}
28492865
return;
28502866
}
28512867
}];
@@ -3147,3 +3163,5 @@ - (IBAction)copyConsole:(id)sender {
31473163
}
31483164

31493165
@end
3166+
3167+
NS_ASSUME_NONNULL_END

0 commit comments

Comments
 (0)