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

Unified Diff: ios/chrome/browser/ui/authentication/signin_promo_view_mediator.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
Index: ios/chrome/browser/ui/authentication/signin_promo_view_mediator.mm
diff --git a/ios/chrome/browser/ui/authentication/signin_promo_view_mediator.mm b/ios/chrome/browser/ui/authentication/signin_promo_view_mediator.mm
new file mode 100644
index 0000000000000000000000000000000000000000..4bc3a1dae27bbaef9dd987580920829cb6dd866a
--- /dev/null
+++ b/ios/chrome/browser/ui/authentication/signin_promo_view_mediator.mm
@@ -0,0 +1,53 @@
+// 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/chrome/browser/ui/authentication/signin_promo_view_mediator.h"
+
+#include "base/strings/sys_string_conversions.h"
+#include "ios/chrome/grit/ios_chromium_strings.h"
+#include "ios/chrome/grit/ios_strings.h"
+#import "ios/public/provider/chrome/browser/chrome_browser_provider.h"
+#import "ios/public/provider/chrome/browser/signin/signin_resources_provider.h"
+#import "ios/third_party/material_components_ios/src/components/Buttons/src/MaterialButtons.h"
+#include "ui/base/l10n/l10n_util.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+@implementation SigninPromoViewMediator
+
+@synthesize userFullName = _userFullName;
+@synthesize userEmail = _userEmail;
+@synthesize userImage = _userImage;
+
+#pragma mark - SigninPromoViewConfigurator
+
+- (void)configureSigninPromoView:(SigninPromoView*)signinPromoView {
+ if (!_userEmail) {
+ DCHECK(!_userFullName);
+ DCHECK(!_userImage);
+ signinPromoView.mode = SigninPromoViewModeColdState;
+ } else {
+ signinPromoView.mode = SigninPromoViewModeWarmState;
+ [signinPromoView.primaryButton
+ setTitle:l10n_util::GetNSStringF(
+ IDS_IOS_SIGNIN_PROMO_CONTINUE_AS,
+ base::SysNSStringToUTF16(_userFullName))
+ forState:UIControlStateNormal];
+ [signinPromoView.secondaryButton
+ setTitle:l10n_util::GetNSStringF(IDS_IOS_SIGNIN_PROMO_NOT,
+ base::SysNSStringToUTF16(_userEmail))
+ forState:UIControlStateNormal];
+ UIImage* image = _userImage;
+ if (!image) {
+ image = ios::GetChromeBrowserProvider()
+ ->GetSigninResourcesProvider()
+ ->GetDefaultAvatar();
+ }
+ [signinPromoView setProfileImage:image];
+ }
+}
+
+@end

Powered by Google App Engine
This is Rietveld 408576698