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..8189ad643519690b3ed28eea44f3885c01ab911c 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" |
#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, |
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,25 @@ 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 |
+ configurator:signinPromoViewMediator] autorelease]; |
+ [signinPromoViewMediator release]; |
+ return signinPromoItem; |
+} |
+ |
+- (CollectionViewItem*)warmStartSigninPromoItem { |
+ SigninPromoViewMediator* signinPromoViewMediator = |
+ [[SigninPromoViewMediator alloc] init]; |
+ signinPromoViewMediator.userFullName = @"John Doe"; |
+ signinPromoViewMediator.userEmail = @"johndoe@example.com"; |
+ SigninPromoItem* signinPromoItem = [[[SigninPromoItem alloc] |
+ initWithType:ItemTypeColdStartSigninPromo |
+ configurator:signinPromoViewMediator] autorelease]; |
+ [signinPromoViewMediator release]; |
return signinPromoItem; |
} |