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

Unified Diff: ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm

Issue 2749703003: Adding mediator for Sign-in promo (Closed)
Patch Set: Visual constraints Created 3 years, 9 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/settings/material_cell_catalog_view_controller.mm
diff --git a/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm b/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm
index 69b8fca7431e2a1f7ad99d4d6dcd2ad664266a25..c306bd2768b4dcde780f74dbe01f3919fbf65306 100644
--- a/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm
@@ -14,6 +14,8 @@
#import "ios/chrome/browser/payments/cells/payments_text_item.h"
#import "ios/chrome/browser/payments/cells/price_item.h"
#import "ios/chrome/browser/ui/authentication/account_control_item.h"
+#import "ios/chrome/browser/ui/authentication/signin_promo_item.h"
+#import "ios/chrome/browser/ui/authentication/signin_promo_view_mediator.h"
lpromero 2017/03/22 16:18:49 You shouldn't need the mediator here. You need to
jlebel 2017/03/24 20:59:10 I need to alloc a SigninPromoViewMediator instance
lpromero 2017/03/27 13:14:46 Can't you just use here: @interface MyConfigurato
#import "ios/chrome/browser/ui/autofill/cells/cvc_item.h"
#import "ios/chrome/browser/ui/autofill/cells/status_item.h"
#import "ios/chrome/browser/ui/autofill/cells/storage_switch_item.h"
@@ -31,7 +33,6 @@
#import "ios/chrome/browser/ui/settings/cells/autofill_data_item.h"
#import "ios/chrome/browser/ui/settings/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/settings/cells/native_app_item.h"
-#import "ios/chrome/browser/ui/settings/cells/signin_promo_item.h"
#import "ios/chrome/browser/ui/settings/cells/sync_switch_item.h"
#import "ios/chrome/browser/ui/settings/cells/text_and_error_item.h"
#import "ios/chrome/browser/ui/uikit_ui_util.h"
@@ -73,7 +74,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
ItemTypeAccountDetail,
ItemTypeAccountCheckMark,
ItemTypeAccountSignIn,
- ItemTypeSigninPromo,
+ ItemTypeColdStartSigninPromo,
+ ItemTypeWarmStartSigninPromo,
lpromero 2017/03/24 10:36:20 BTW, what happened to the hot version?
jlebel 2017/03/24 20:59:10 It will be done by the current code.
ItemTypeApp,
ItemTypePaymentsSingleLine,
ItemTypePaymentsDynamicHeight,
@@ -296,7 +298,9 @@ const CGFloat kHorizontalImageFixedSize = 40;
toSectionWithIdentifier:SectionIdentifierAccountCell];
[model addItem:[self accountSignInItem]
toSectionWithIdentifier:SectionIdentifierAccountCell];
- [model addItem:[self signinPromoItem]
+ [model addItem:[self coldStartSigninPromoItem]
+ toSectionWithIdentifier:SectionIdentifierAccountCell];
+ [model addItem:[self warmStartSigninPromoItem]
toSectionWithIdentifier:SectionIdentifierAccountCell];
// Account control cells.
@@ -366,7 +370,8 @@ const CGFloat kHorizontalImageFixedSize = 40;
case ItemTypeAutofillStorageSwitch:
case ItemTypePaymentsDynamicHeight:
case ItemTypeAutofillDynamicHeight:
- case ItemTypeSigninPromo:
+ case ItemTypeColdStartSigninPromo:
+ case ItemTypeWarmStartSigninPromo:
return [MDCCollectionViewCell
cr_preferredHeightForWidth:CGRectGetWidth(collectionView.bounds)
forItem:item];
@@ -420,12 +425,13 @@ const CGFloat kHorizontalImageFixedSize = 40;
CollectionViewItem* item =
[self.collectionViewModel itemAtIndexPath:indexPath];
switch (item.type) {
- case ItemTypeSwitchBasic:
- case ItemTypeSwitchDynamicHeight:
case ItemTypeApp:
case ItemTypeAutofillStorageSwitch:
+ case ItemTypeColdStartSigninPromo:
+ case ItemTypeSwitchBasic:
+ case ItemTypeSwitchDynamicHeight:
case ItemTypeSwitchSync:
- case ItemTypeSigninPromo:
+ case ItemTypeWarmStartSigninPromo:
return YES;
default:
return NO;
@@ -474,16 +480,23 @@ const CGFloat kHorizontalImageFixedSize = 40;
return accountSignInItem;
}
-- (CollectionViewItem*)signinPromoItem {
- SigninPromoItem* signinPromoItem =
- [[[SigninPromoItem alloc] initWithType:ItemTypeSigninPromo] autorelease];
- signinPromoItem.profileName = @"Jane";
- signinPromoItem.profileEmail = @"jane@example.com";
- signinPromoItem.profileImage =
- CircularImageFromImage(ios::GetChromeBrowserProvider()
- ->GetSigninResourcesProvider()
- ->GetDefaultAvatar(),
- kHorizontalImageFixedSize);
+- (CollectionViewItem*)coldStartSigninPromoItem {
+ SigninPromoViewMediator* signinPromoViewMediator =
+ [[SigninPromoViewMediator alloc] init];
+ SigninPromoItem* signinPromoItem = [[[SigninPromoItem alloc]
+ initWithType:ItemTypeWarmStartSigninPromo
+ signinPromoViewConfigurator:signinPromoViewMediator] autorelease];
+ return signinPromoItem;
+}
+
+- (CollectionViewItem*)warmStartSigninPromoItem {
+ SigninPromoViewMediator* signinPromoViewMediator =
+ [[SigninPromoViewMediator alloc] init];
+ signinPromoViewMediator.userFullName = @"John Doe";
+ signinPromoViewMediator.userEmail = @"johndoe@example.com";
+ SigninPromoItem* signinPromoItem = [[[SigninPromoItem alloc]
+ initWithType:ItemTypeColdStartSigninPromo
+ signinPromoViewConfigurator:signinPromoViewMediator] autorelease];
return signinPromoItem;
}

Powered by Google App Engine
This is Rietveld 408576698