Skip to content

Commit 4d0985b

Browse files
committed
implement convenience initializers for customization screens
1 parent e09c3a1 commit 4d0985b

12 files changed

+114
-45
lines changed

FirebaseAuthUI/FIRAuthPickerViewController.m

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,18 @@ @implementation FIRAuthPickerViewController {
6161
}
6262

6363
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI {
64-
self = [super initWithNibName:NSStringFromClass([FIRAuthPickerViewController class])
64+
return [self initWithNibName:NSStringFromClass([self class])
6565
bundle:[FIRAuthUIUtils frameworkBundle]
6666
authUI:authUI];
67+
}
68+
69+
- (instancetype)initWithNibName:(NSString *)nibNameOrNil
70+
bundle:(NSBundle *)nibBundleOrNil
71+
authUI:(FIRAuthUI *)authUI {
72+
73+
self = [super initWithNibName:nibNameOrNil
74+
bundle:nibBundleOrNil
75+
authUI:authUI];
6776
if (self) {
6877
self.title = [FIRAuthUIStrings authPickerTitle];
6978
}
@@ -220,10 +229,9 @@ - (void)handleAccountLinkingForEmail:(NSString *)email
220229
email:email
221230
newCredential:newCredential];
222231
} else {
223-
controller = [[FIRPasswordVerificationViewController alloc] initWithNibName:NSStringFromClass([FIRPasswordVerificationViewController class])
224-
bundle:[FIRAuthUIUtils frameworkBundle] authUI:self.authUI
225-
email:email
226-
newCredential:newCredential];
232+
controller = [[FIRPasswordVerificationViewController alloc] initWithAuthUI:self.authUI
233+
email:email
234+
newCredential:newCredential];
227235

228236
}
229237
[self pushViewController:controller];

FirebaseAuthUI/FIRAuthUIBaseViewController.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ - (nullable instancetype)init NS_UNAVAILABLE;
6565
/** @fn initWithCancelHandler:otherHandlers:
6666
@brief Designated initializer.
6767
@param cancelHandler The block to call when the alert view is cancelled.
68-
@param otherHandler Handlers for other buttons of the alert view. The number of handlers must
68+
@param otherHandlers Handlers for other buttons of the alert view. The number of handlers must
6969
match the number of other buttons of the alert view.
7070
*/
7171
- (nullable instancetype)initWithCancelHandler:(nullable FIRAuthUIAlertActionHandler)cancelHandler

FirebaseAuthUI/FIREmailEntryViewController.m

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,18 @@ @implementation FIREmailEntryViewController {
6161
}
6262

6363
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI {
64-
self = [super initWithAuthUI:authUI];
64+
return [self initWithNibName:NSStringFromClass([self class])
65+
bundle:[FIRAuthUIUtils frameworkBundle]
66+
authUI:authUI];
67+
}
68+
69+
- (instancetype)initWithNibName:(NSString *)nibNameOrNil
70+
bundle:(NSBundle *)nibBundleOrNil
71+
authUI:(FIRAuthUI *)authUI {
72+
73+
self = [super initWithNibName:nibNameOrNil
74+
bundle:nibBundleOrNil
75+
authUI:authUI];
6576
if (self) {
6677
self.title = [FIRAuthUIStrings signInWithEmail];
6778
}
@@ -136,10 +147,8 @@ - (void)onNext:(NSString *)emailText {
136147
controller = [self.authUI.delegate passwordSignInViewControllerForAuthUI:self.authUI
137148
email:emailText];
138149
} else {
139-
controller = [[FIRPasswordSignInViewController alloc] initWithNibName:NSStringFromClass([FIRPasswordSignInViewController class])
140-
bundle:[FIRAuthUIUtils frameworkBundle]
141-
authUI:self.authUI
142-
email:emailText];
150+
controller = [[FIRPasswordSignInViewController alloc] initWithAuthUI:self.authUI
151+
email:emailText];
143152
}
144153
[self pushViewController:controller];
145154
} else {
@@ -153,10 +162,8 @@ - (void)onNext:(NSString *)emailText {
153162
controller = [self.authUI.delegate passwordSignUpViewControllerForAuthUI:self.authUI
154163
email:emailText];
155164
} else {
156-
controller = [[FIRPasswordSignUpViewController alloc] initWithNibName:NSStringFromClass([FIRPasswordSignUpViewController class])
157-
bundle:[FIRAuthUIUtils frameworkBundle]
158-
authUI:self.authUI
159-
email:emailText];
165+
controller = [[FIRPasswordSignUpViewController alloc] initWithAuthUI:self.authUI
166+
email:emailText];
160167
}
161168
[self pushViewController:controller];
162169
}

FirebaseAuthUI/FIRPasswordRecoveryViewController.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ NS_ASSUME_NONNULL_BEGIN
4949
authUI:(FIRAuthUI *)authUI
5050
email:(NSString *_Nullable)email NS_DESIGNATED_INITIALIZER;
5151

52+
/** @fn initWithAuthUI:email:
53+
@brief Convenience initializer.
54+
@param authUI The @c FIRAuthUI instance that manages this view controller.
55+
@param email The email address of the user.
56+
*/
57+
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI
58+
email:(NSString *_Nullable)email;
59+
5260

5361
/** @fn didChangeEmail:
5462
@brief Should be called after any change of email value. Updates UI controls state

FirebaseAuthUI/FIRPasswordRecoveryViewController.m

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ @implementation FIRPasswordRecoveryViewController {
5252
UITextField *_emailField;
5353
}
5454

55+
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI
56+
email:(NSString *_Nullable)email {
57+
return [self initWithNibName:NSStringFromClass([self class])
58+
bundle:[FIRAuthUIUtils frameworkBundle]
59+
authUI:authUI
60+
email:email];
61+
}
62+
5563
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
5664
bundle:(nullable NSBundle *)nibBundleOrNil
5765
authUI:(FIRAuthUI *)authUI

FirebaseAuthUI/FIRPasswordSignInViewController.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ NS_ASSUME_NONNULL_BEGIN
4949
authUI:(FIRAuthUI *)authUI
5050
email:(NSString *_Nullable)email NS_DESIGNATED_INITIALIZER;
5151

52+
/** @fn initWithAuthUI:email:
53+
@brief Convenience initializer.
54+
@param authUI The @c FIRAuthUI instance that manages this view controller.
55+
@param email The email address of the user.
56+
*/
57+
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI
58+
email:(NSString *_Nullable)email;
59+
5260
/** @fn forgotPasswordForEmail:
5361
@brief Method is called when user forgot password.
5462
@param email The email address of the user.

FirebaseAuthUI/FIRPasswordSignInViewController.m

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ @implementation FIRPasswordSignInViewController {
4848
UITextField *_passwordField;
4949
}
5050

51+
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI
52+
email:(NSString *_Nullable)email {
53+
return [self initWithNibName:NSStringFromClass([self class])
54+
bundle:[FIRAuthUIUtils frameworkBundle]
55+
authUI:authUI
56+
email:email];
57+
}
58+
5159
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
5260
bundle:(nullable NSBundle *)nibBundleOrNil
5361
authUI:(FIRAuthUI *)authUI
@@ -127,10 +135,8 @@ - (void)forgotPasswordForEmail:(NSString *)email {
127135
viewController = [self.authUI.delegate passwordRecoveryViewControllerForAuthUI:self.authUI
128136
email:email];
129137
} else {
130-
viewController = [[FIRPasswordRecoveryViewController alloc] initWithNibName:NSStringFromClass([FIRPasswordRecoveryViewController class])
131-
bundle:[FIRAuthUIUtils frameworkBundle]
132-
authUI:self.authUI
133-
email:email];
138+
viewController = [[FIRPasswordRecoveryViewController alloc] initWithAuthUI:self.authUI
139+
email:email];
134140
}
135141
[self pushViewController:viewController];
136142

FirebaseAuthUI/FIRPasswordSignUpViewController.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ NS_ASSUME_NONNULL_BEGIN
5454
authUI:(FIRAuthUI *)authUI
5555
email:(NSString *_Nullable)email NS_DESIGNATED_INITIALIZER;
5656

57+
/** @fn initWithAuthUI:email:
58+
@brief Convenience initializer.
59+
@param authUI The @c FIRAuthUI instance that manages this view controller.
60+
@param email The email address of the user.
61+
*/
62+
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI
63+
email:(NSString *_Nullable)email;
64+
5765
/** @fn didChangeEmail:orPassword:orUserName:
5866
@brief Should be called after any change of email, password or user name value.
5967
Updates UI controls state (e g state of next button)

FirebaseAuthUI/FIRPasswordSignUpViewController.m

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ @implementation FIRPasswordSignUpViewController {
8282
UITextField *_passwordField;
8383
}
8484

85+
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI
86+
email:(NSString *_Nullable)email {
87+
return [self initWithNibName:NSStringFromClass([self class])
88+
bundle:[FIRAuthUIUtils frameworkBundle]
89+
authUI:authUI
90+
email:email];
91+
}
92+
8593
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
8694
bundle:(nullable NSBundle *)nibBundleOrNil
8795
authUI:(FIRAuthUI *)authUI

FirebaseAuthUI/FIRPasswordVerificationViewController.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,18 @@ NS_ASSUME_NONNULL_BEGIN
5353
email:(NSString *_Nullable)email
5454
newCredential:(FIRAuthCredential *)newCredential NS_DESIGNATED_INITIALIZER;
5555

56+
/** @fn initWithAuthUI:email:newCredential:
57+
@brief Convenience initializer.
58+
@param authUI The @c FIRAuthUI instance that manages this view controller.
59+
@param email The email address of the user.
60+
@param newCredential The new @c FIRAuthCredential that the user had never used before.
61+
*/
62+
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI
63+
email:(NSString *_Nullable)email
64+
newCredential:(FIRAuthCredential *)newCredential;
65+
5666
/** @fn forgotPassword
5767
@brief Method is called when user forgot password.
58-
@param email The email address of the user.
5968
*/
6069
- (void)forgotPassword;
6170

FirebaseAuthUI/FIRPasswordVerificationViewController.m

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,16 @@ @implementation FIRPasswordVerificationViewController {
5151
__unsafe_unretained IBOutlet UITableView *_tableView;
5252
}
5353

54+
- (instancetype)initWithAuthUI:(FIRAuthUI *)authUI
55+
email:(NSString *_Nullable)email
56+
newCredential:(FIRAuthCredential *)newCredential {
57+
return [self initWithNibName:NSStringFromClass([self class])
58+
bundle:[FIRAuthUIUtils frameworkBundle]
59+
authUI:authUI
60+
email:email
61+
newCredential:newCredential];
62+
}
63+
5464
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
5565
bundle:(nullable NSBundle *)nibBundleOrNil
5666
authUI:(FIRAuthUI *)authUI
@@ -147,10 +157,8 @@ - (IBAction)forgotPassword {
147157
viewController = [self.authUI.delegate passwordRecoveryViewControllerForAuthUI:self.authUI
148158
email:_email];
149159
} else {
150-
viewController = [[FIRPasswordRecoveryViewController alloc] initWithNibName:NSStringFromClass([FIRPasswordRecoveryViewController class])
151-
bundle:[FIRAuthUIUtils frameworkBundle]
152-
authUI:self.authUI
153-
email:_email];
160+
viewController = [[FIRPasswordRecoveryViewController alloc] initWithAuthUI:self.authUI
161+
email:_email];
154162
}
155163
[self pushViewController:viewController];
156164
}

samples/objc/FirebaseUI-demo-objc/Samples/Auth/FIRCustomAuthUIDelegate.m

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -41,48 +41,39 @@ - (void)authUI:(FIRAuthUI *)authUI didSignInWithUser:(nullable FIRUser *)user er
4141
}
4242

4343
- (FIRAuthPickerViewController *)authPickerViewControllerForAuthUI:(FIRAuthUI *)authUI {
44-
return [[FIRCustomAuthPickerViewController alloc] initWithNibName:NSStringFromClass([FIRCustomAuthPickerViewController class])
45-
bundle:nil
46-
authUI:authUI];
44+
return [[FIRCustomAuthPickerViewController alloc] initWithAuthUI:authUI];
4745
}
4846

4947
- (FIREmailEntryViewController *)emailEntryViewControllerForAuthUI:(FIRAuthUI *)authUI {
50-
return [[FIRCustomEmailEntryViewController alloc] initWithNibName:NSStringFromClass([FIRCustomEmailEntryViewController class])
51-
bundle:nil
52-
authUI:authUI];
48+
return [[FIRCustomEmailEntryViewController alloc] initWithAuthUI:authUI];
5349

5450
}
5551

56-
- (FIRPasswordSignInViewController *)passwordSignInViewControllerForAuthUI:(FIRAuthUI *)authUI email:(NSString *)email {
57-
return [[FIRCustomPasswordSignInViewController alloc] initWithNibName:NSStringFromClass([FIRCustomPasswordSignInViewController class])
58-
bundle:nil
59-
authUI:authUI
52+
- (FIRPasswordSignInViewController *)passwordSignInViewControllerForAuthUI:(FIRAuthUI *)authUI
53+
email:(NSString *)email {
54+
return [[FIRCustomPasswordSignInViewController alloc] initWithAuthUI:authUI
6055
email:email];
6156

6257
}
6358

64-
- (FIRPasswordSignUpViewController *)passwordSignUpViewControllerForAuthUI:(FIRAuthUI *)authUI email:(NSString *)email {
65-
return [[FIRCustomPasswordSignUpViewController alloc] initWithNibName:NSStringFromClass([FIRCustomPasswordSignUpViewController class])
66-
bundle:nil
67-
authUI:authUI
59+
- (FIRPasswordSignUpViewController *)passwordSignUpViewControllerForAuthUI:(FIRAuthUI *)authUI
60+
email:(NSString *)email {
61+
return [[FIRCustomPasswordSignUpViewController alloc] initWithAuthUI:authUI
6862
email:email];
6963

7064
}
7165

72-
- (FIRPasswordRecoveryViewController *)passwordRecoveryViewControllerForAuthUI:(FIRAuthUI *)authUI email:(NSString *)email {
73-
return [[FIRCustomPasswordRecoveryViewController alloc] initWithNibName:NSStringFromClass([FIRCustomPasswordRecoveryViewController class])
74-
bundle:nil
75-
authUI:authUI
66+
- (FIRPasswordRecoveryViewController *)passwordRecoveryViewControllerForAuthUI:(FIRAuthUI *)authUI
67+
email:(NSString *)email {
68+
return [[FIRCustomPasswordRecoveryViewController alloc] initWithAuthUI:authUI
7669
email:email];
7770

7871
}
7972

8073
- (FIRPasswordVerificationViewController *)passwordVerificationViewControllerForAuthUI:(FIRAuthUI *)authUI
8174
email:(NSString *)email
8275
newCredential:(FIRAuthCredential *)newCredential {
83-
return [[FIRCustomPasswordVerificationViewController alloc] initWithNibName:NSStringFromClass([FIRCustomPasswordVerificationViewController class])
84-
bundle:nil
85-
authUI:authUI
76+
return [[FIRCustomPasswordVerificationViewController alloc] initWithAuthUI:authUI
8677
email:email
8778
newCredential:newCredential];
8879
}

0 commit comments

Comments
 (0)