Chromium Code Reviews| 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 c4759207b6408486ea21634ab7682db5420f9135..db52b46825ced10e9ded451c10fa1262c1d03235 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 |
| @@ -29,6 +29,7 @@ |
| #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" |
| @@ -69,6 +70,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
| ItemTypeAccountDetail, |
| ItemTypeAccountCheckMark, |
| ItemTypeAccountSignIn, |
| + ItemTypeSigninPromo, |
| ItemTypeApp, |
| ItemTypePaymentsSingleLine, |
| ItemTypePaymentsDynamicHeight, |
| @@ -291,6 +293,10 @@ const CGFloat kHorizontalImageFixedSize = 40; |
| [model addItem:[self accountSignInItem] |
| toSectionWithIdentifier:SectionIdentifierAccountCell]; |
| + [model addSectionWithIdentifier:SectionIdentifierAccountCell]; |
| + [model addItem:[self signinPromoItem] |
| + toSectionWithIdentifier:SectionIdentifierAccountCell]; |
| + |
| // Account control cells. |
| [model addSectionWithIdentifier:SectionIdentifierAccountControlCell]; |
| [model addItem:[self accountControlItem] |
| @@ -350,6 +356,7 @@ const CGFloat kHorizontalImageFixedSize = 40; |
| case ItemTypeAutofillStorageSwitch: |
| case ItemTypePaymentsDynamicHeight: |
| case ItemTypeAutofillDynamicHeight: |
| + case ItemTypeSigninPromo: |
| return [MDCCollectionViewCell |
| cr_preferredHeightForWidth:CGRectGetWidth(collectionView.bounds) |
| forItem:item]; |
| @@ -398,13 +405,17 @@ const CGFloat kHorizontalImageFixedSize = 40; |
| hidesInkViewAtIndexPath:(nonnull NSIndexPath*)indexPath { |
| NSInteger sectionIdentifier = |
| [self.collectionViewModel sectionIdentifierForSection:indexPath.section]; |
| - switch (sectionIdentifier) { |
| - case SectionIdentifierFooters: |
| + if (sectionIdentifier == SectionIdentifierFooters) |
| + return YES; |
|
lpromero
2017/03/09 10:55:03
Wow good catch!
jlebel
2017/03/09 20:34:08
Acknowledged.
|
| + CollectionViewItem* item = |
| + [self.collectionViewModel itemAtIndexPath:indexPath]; |
| + switch (item.type) { |
| case ItemTypeSwitchBasic: |
| case ItemTypeSwitchDynamicHeight: |
| case ItemTypeApp: |
| case ItemTypeAutofillStorageSwitch: |
| case ItemTypeSwitchSync: |
| + case ItemTypeSigninPromo: |
| return YES; |
| default: |
| return NO; |
| @@ -453,6 +464,19 @@ const CGFloat kHorizontalImageFixedSize = 40; |
| return accountSignInItem; |
| } |
| +- (CollectionViewItem*)signinPromoItem { |
| + SigninPromoItem* signinPromoItem = |
| + [[[SigninPromoItem alloc] initWithType:ItemTypeSigninPromo] autorelease]; |
| + signinPromoItem.profileName = @"Jane"; |
| + signinPromoItem.profileEmail = @"jane@gmail.com"; |
|
lpromero
2017/03/09 10:55:03
example.com
jlebel
2017/03/09 20:34:08
Done.
|
| + signinPromoItem.image = |
| + CircularImageFromImage(ios::GetChromeBrowserProvider() |
| + ->GetSigninResourcesProvider() |
| + ->GetDefaultAvatar(), |
| + kHorizontalImageFixedSize); |
| + return signinPromoItem; |
| +} |
| + |
| - (CollectionViewItem*)accountControlItem { |
| AccountControlItem* item = [[[AccountControlItem alloc] |
| initWithType:ItemTypeAccountControlDynamicHeight] autorelease]; |