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

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

Issue 2749703003: Adding mediator for Sign-in promo (Closed)
Patch Set: Update tests 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
« no previous file with comments | « ios/chrome/browser/ui/settings/cells/signin_promo_item_unittest.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..184196126302670e08fcbaae68d4e0e2c710ef51 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
@@ -7,6 +7,7 @@
#import <UIKit/UIKit.h>
#import "base/mac/foundation_util.h"
+#import "base/mac/scoped_nsobject.h"
#include "components/autofill/core/browser/autofill_data_util.h"
#include "components/autofill/core/browser/credit_card.h"
#include "components/grit/components_scaled_resources.h"
@@ -14,6 +15,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 +34,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 +75,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
ItemTypeAccountDetail,
ItemTypeAccountCheckMark,
ItemTypeAccountSignIn,
- ItemTypeSigninPromo,
+ ItemTypeColdStateSigninPromo,
+ ItemTypeWarmStateSigninPromo,
ItemTypeApp,
ItemTypePaymentsSingleLine,
ItemTypePaymentsDynamicHeight,
@@ -91,7 +94,10 @@ const CGFloat kHorizontalImageFixedSize = 40;
} // namespace
-@implementation MaterialCellCatalogViewController
+@implementation MaterialCellCatalogViewController {
+ base::scoped_nsobject<SigninPromoViewMediator> _coldStateMediator;
+ base::scoped_nsobject<SigninPromoViewMediator> _warmStateMediator;
+}
- (instancetype)init {
self = [super initWithStyle:CollectionViewControllerStyleAppBar];
@@ -296,7 +302,9 @@ const CGFloat kHorizontalImageFixedSize = 40;
toSectionWithIdentifier:SectionIdentifierAccountCell];
[model addItem:[self accountSignInItem]
toSectionWithIdentifier:SectionIdentifierAccountCell];
- [model addItem:[self signinPromoItem]
+ [model addItem:[self coldStateSigninPromoItem]
+ toSectionWithIdentifier:SectionIdentifierAccountCell];
+ [model addItem:[self warmStateSigninPromoItem]
toSectionWithIdentifier:SectionIdentifierAccountCell];
// Account control cells.
@@ -366,7 +374,8 @@ const CGFloat kHorizontalImageFixedSize = 40;
case ItemTypeAutofillStorageSwitch:
case ItemTypePaymentsDynamicHeight:
case ItemTypeAutofillDynamicHeight:
- case ItemTypeSigninPromo:
+ case ItemTypeColdStateSigninPromo:
+ case ItemTypeWarmStateSigninPromo:
return [MDCCollectionViewCell
cr_preferredHeightForWidth:CGRectGetWidth(collectionView.bounds)
forItem:item];
@@ -420,12 +429,13 @@ const CGFloat kHorizontalImageFixedSize = 40;
CollectionViewItem* item =
[self.collectionViewModel itemAtIndexPath:indexPath];
switch (item.type) {
- case ItemTypeSwitchBasic:
- case ItemTypeSwitchDynamicHeight:
case ItemTypeApp:
case ItemTypeAutofillStorageSwitch:
+ case ItemTypeColdStateSigninPromo:
+ case ItemTypeSwitchBasic:
+ case ItemTypeSwitchDynamicHeight:
case ItemTypeSwitchSync:
- case ItemTypeSigninPromo:
+ case ItemTypeWarmStateSigninPromo:
return YES;
default:
return NO;
@@ -474,17 +484,20 @@ 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);
- return signinPromoItem;
+- (CollectionViewItem*)coldStateSigninPromoItem {
+ _coldStateMediator.reset([[SigninPromoViewMediator alloc] init]);
+ return
+ [[[SigninPromoItem alloc] initWithType:ItemTypeWarmStateSigninPromo
+ configurator:_coldStateMediator] autorelease];
+}
+
+- (CollectionViewItem*)warmStateSigninPromoItem {
+ _warmStateMediator.reset([[SigninPromoViewMediator alloc] init]);
+ _warmStateMediator.get().userFullName = @"John Doe";
+ _warmStateMediator.get().userEmail = @"johndoe@example.com";
+ return
+ [[[SigninPromoItem alloc] initWithType:ItemTypeColdStateSigninPromo
+ configurator:_warmStateMediator] autorelease];
}
- (CollectionViewItem*)accountControlItem {
« no previous file with comments | « ios/chrome/browser/ui/settings/cells/signin_promo_item_unittest.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698