Chromium Code Reviews| 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 |