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

Unified Diff: ios/chrome/browser/ui/authentication/signin_promo_view_mediator.mm

Issue 2749703003: Adding mediator for Sign-in promo (Closed)
Patch Set: 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..4c6ebb7557f83106cf9f1107f0cdce7a3739380a
--- /dev/null
+++ b/ios/chrome/browser/ui/authentication/signin_promo_view_mediator.mm
@@ -0,0 +1,62 @@
+// 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
+
+- (BOOL)coldStart {
+ return !_userFullName;
msarda 2017/03/16 22:15:31 userFullName of a valid identity is often NULL (th
jlebel 2017/03/21 17:22:29 Yes, you are right. This should be done with email
+}
+
+- (void)configureSigninPromoView:(SigninPromoView*)signinPromoView {
+ if (self.coldStart) {
+ DCHECK(!_userEmail);
+ DCHECK(!_userImage);
+ signinPromoView.mode = SigninPromoViewColdStartMode;
+ [signinPromoView.primaryButton
+ setTitle:l10n_util::GetNSString(
+ IDS_IOS_OPTIONS_IMPORT_DATA_TITLE_SIGNIN)
+ forState:UIControlStateNormal];
+ } else {
+ DCHECK(_userEmail);
+ signinPromoView.mode = SigninPromoViewWarmStartMode;
+ [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];
+ if (_userImage) {
+ [signinPromoView setProfileImage:_userImage];
+ } else {
+ [signinPromoView setProfileImage:ios::GetChromeBrowserProvider()
+ ->GetSigninResourcesProvider()
+ ->GetDefaultAvatar()];
+ }
+ }
+}
+
+@end

Powered by Google App Engine
This is Rietveld 408576698