Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Unified Diff: ios/chrome/browser/ui/payments/contact_info_selection_coordinator.mm

Issue 2932703004: [Payment Request] Contact Info editor (Closed)
Patch Set: Addressed comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698