Index: ios/showcase/payments/sc_payments_picker_coordinator.mm |
diff --git a/ios/showcase/payments/sc_payments_picker_coordinator.mm b/ios/showcase/payments/sc_payments_picker_coordinator.mm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..26256b5c907c3e65056d50297b2c43bf4aa3e26a |
--- /dev/null |
+++ b/ios/showcase/payments/sc_payments_picker_coordinator.mm |
@@ -0,0 +1,63 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#import "ios/showcase/payments/sc_payments_picker_coordinator.h" |
+ |
+#import "ios/chrome/browser/payments/payment_request_picker_row.h" |
+#import "ios/chrome/browser/payments/payment_request_picker_view_controller.h" |
+#import "ios/showcase/common/protocol_alerter.h" |
+ |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
+@interface SCPaymentsPickerCoordinator () |
+ |
+@property(nonatomic, strong) |
+ PaymentRequestPickerViewController* pickerViewController; |
+@property(nonatomic, strong) ProtocolAlerter* alerter; |
+ |
+@end |
+ |
+@implementation SCPaymentsPickerCoordinator |
+ |
+@synthesize baseViewController = _baseViewController; |
+@synthesize pickerViewController = _pickerViewController; |
+@synthesize alerter = _alerter; |
+ |
+- (void)start { |
+ self.alerter = [[ProtocolAlerter alloc] initWithProtocols:@[ |
+ @protocol(PaymentRequestPickerViewControllerDelegate) |
+ ]]; |
+ self.alerter.baseViewController = self.baseViewController; |
+ |
+ NSArray<PickerRow*>* rows = [self rows]; |
+ _pickerViewController = [[PaymentRequestPickerViewController alloc] |
+ initWithRows:rows |
+ selected:rows[rows.count - 1]]; |
+ [_pickerViewController setTitle:@"Select a country"]; |
+ [_pickerViewController |
+ setDelegate:reinterpret_cast< |
+ id<PaymentRequestPickerViewControllerDelegate>>( |
+ self.alerter)]; |
+ |
+ [self.baseViewController pushViewController:_pickerViewController |
+ animated:YES]; |
+} |
+ |
+#pragma mark - Helper methods |
+ |
+- (NSArray<PickerRow*>*)rows { |
+ return @[ |
+ [[PickerRow alloc] initWithLabel:@"Chile" value:@"CHL"], |
+ [[PickerRow alloc] initWithLabel:@"Canada" value:@"CAN"], |
+ [[PickerRow alloc] initWithLabel:@"Belgium" value:@"BEL"], |
+ [[PickerRow alloc] initWithLabel:@"España" value:@"ESP"], |
+ [[PickerRow alloc] initWithLabel:@"México" value:@"MEX"], |
+ [[PickerRow alloc] initWithLabel:@"Brazil" value:@"BRA"], |
+ [[PickerRow alloc] initWithLabel:@"China" value:@"CHN"] |
+ ]; |
+} |
+ |
+@end |