| Index: ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm
|
| diff --git a/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm b/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm
|
| index 8a7c4007d719b698046b36293c1b34473052e3d0..0c07deb67773911eb49eeeb2e023eb145c12cb4e 100644
|
| --- a/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm
|
| +++ b/ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm
|
| @@ -28,6 +28,9 @@ const int64_t kDelegateNotificationDelayInNanoSeconds = 0.2 * NSEC_PER_SEC;
|
| @interface ContactInfoSelectionCoordinator ()
|
|
|
| @property(nonatomic, strong)
|
| + ContactInfoEditCoordinator* contactInfoEditCoordinator;
|
| +
|
| +@property(nonatomic, strong)
|
| PaymentRequestSelectorViewController* viewController;
|
|
|
| @property(nonatomic, strong) ContactInfoSelectionMediator* mediator;
|
| @@ -44,6 +47,7 @@ const int64_t kDelegateNotificationDelayInNanoSeconds = 0.2 * NSEC_PER_SEC;
|
|
|
| @synthesize paymentRequest = _paymentRequest;
|
| @synthesize delegate = _delegate;
|
| +@synthesize contactInfoEditCoordinator = _contactInfoEditCoordinator;
|
| @synthesize viewController = _viewController;
|
| @synthesize mediator = _mediator;
|
|
|
| @@ -66,6 +70,8 @@ const int64_t kDelegateNotificationDelayInNanoSeconds = 0.2 * NSEC_PER_SEC;
|
|
|
| - (void)stop {
|
| [self.baseViewController.navigationController popViewControllerAnimated:YES];
|
| + [self.contactInfoEditCoordinator stop];
|
| + self.contactInfoEditCoordinator = nil;
|
| self.viewController = nil;
|
| self.mediator = nil;
|
| }
|
| @@ -90,7 +96,29 @@ const int64_t kDelegateNotificationDelayInNanoSeconds = 0.2 * NSEC_PER_SEC;
|
|
|
| - (void)paymentRequestSelectorViewControllerDidSelectAddItem:
|
| (PaymentRequestSelectorViewController*)controller {
|
| - // TODO(crbug.com/602666): Display contact info editor.
|
| + self.contactInfoEditCoordinator = [[ContactInfoEditCoordinator alloc]
|
| + initWithBaseViewController:self.viewController];
|
| + self.contactInfoEditCoordinator.paymentRequest = self.paymentRequest;
|
| + self.contactInfoEditCoordinator.delegate = self;
|
| + [self.contactInfoEditCoordinator start];
|
| +}
|
| +
|
| +#pragma mark - ContactInfoEditCoordinatorDelegate
|
| +
|
| +- (void)contactInfoEditCoordinator:(ContactInfoEditCoordinator*)coordinator
|
| + didFinishEditingProfile:(autofill::AutofillProfile*)profile {
|
| + [self.contactInfoEditCoordinator stop];
|
| + self.contactInfoEditCoordinator = nil;
|
| +
|
| + // Inform |self.delegate| that |profile| has been selected.
|
| + [self.delegate contactInfoSelectionCoordinator:self
|
| + didSelectContactProfile:profile];
|
| +}
|
| +
|
| +- (void)contactInfoEditCoordinatorDidCancel:
|
| + (ContactInfoEditCoordinator*)coordinator {
|
| + [self.contactInfoEditCoordinator stop];
|
| + self.contactInfoEditCoordinator = nil;
|
| }
|
|
|
| #pragma mark - Helper methods
|
|
|