| Index: ios/chrome/browser/ui/authentication/signed_in_accounts_view_controller.mm
|
| diff --git a/ios/chrome/browser/ui/authentication/signed_in_accounts_view_controller.mm b/ios/chrome/browser/ui/authentication/signed_in_accounts_view_controller.mm
|
| index 69c9f407eb25cb7c868d118867f9ba65487f6ad3..59e4060d31d5359b14a8820c6a134e6a28ace494 100644
|
| --- a/ios/chrome/browser/ui/authentication/signed_in_accounts_view_controller.mm
|
| +++ b/ios/chrome/browser/ui/authentication/signed_in_accounts_view_controller.mm
|
| @@ -35,6 +35,10 @@
|
| #import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
|
| #include "ui/base/l10n/l10n_util_mac.h"
|
|
|
| +#if !defined(__has_feature) || !__has_feature(objc_arc)
|
| +#error "This file requires ARC support."
|
| +#endif
|
| +
|
| namespace {
|
|
|
| const int kMaxShownAccounts = 3;
|
| @@ -65,11 +69,10 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| : CollectionViewController<ChromeIdentityServiceObserver> {
|
| ios::ChromeBrowserState* _browserState; // Weak.
|
| std::unique_ptr<ChromeIdentityServiceObserverBridge> _identityServiceObserver;
|
| - base::scoped_nsobject<ResizedAvatarCache> _avatarCache;
|
| + ResizedAvatarCache* _avatarCache;
|
|
|
| // Enable lookup of item corresponding to a given identity GAIA ID string.
|
| - base::scoped_nsobject<NSDictionary<NSString*, CollectionViewItem*>>
|
| - _identityMap;
|
| + NSDictionary<NSString*, CollectionViewItem*>* _identityMap;
|
| }
|
| @end
|
|
|
| @@ -79,7 +82,7 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| self = [super initWithStyle:CollectionViewControllerStyleDefault];
|
| if (self) {
|
| _browserState = browserState;
|
| - _avatarCache.reset([[ResizedAvatarCache alloc] init]);
|
| + _avatarCache = [[ResizedAvatarCache alloc] init];
|
| _identityServiceObserver.reset(
|
| new ChromeIdentityServiceObserverBridge(self));
|
| [self loadModel];
|
| @@ -106,7 +109,7 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| [super loadModel];
|
| CollectionViewModel* model = self.collectionViewModel;
|
| NSMutableDictionary<NSString*, CollectionViewItem*>* mutableIdentityMap =
|
| - [[[NSMutableDictionary alloc] init] autorelease];
|
| + [[NSMutableDictionary alloc] init];
|
|
|
| [model addSectionWithIdentifier:SectionIdentifierAccounts];
|
| ProfileOAuth2TokenService* oauth2_service =
|
| @@ -122,14 +125,14 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| [model addItem:item toSectionWithIdentifier:SectionIdentifierAccounts];
|
| [mutableIdentityMap setObject:item forKey:identity.gaiaID];
|
| }
|
| - _identityMap.reset([mutableIdentityMap retain]);
|
| + _identityMap = mutableIdentityMap;
|
| }
|
|
|
| #pragma mark Model objects
|
|
|
| - (CollectionViewItem*)accountItem:(ChromeIdentity*)identity {
|
| - CollectionViewAccountItem* item = [[[CollectionViewAccountItem alloc]
|
| - initWithType:ItemTypeAccount] autorelease];
|
| + CollectionViewAccountItem* item =
|
| + [[CollectionViewAccountItem alloc] initWithType:ItemTypeAccount];
|
| [self updateAccountItem:item withIdentity:identity];
|
| return item;
|
| }
|
| @@ -180,14 +183,13 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| OAuth2TokenServiceObserverBridgeDelegate> {
|
| ios::ChromeBrowserState* _browserState; // Weak.
|
| std::unique_ptr<OAuth2TokenServiceObserverBridge> _tokenServiceObserver;
|
| - base::scoped_nsobject<MDCDialogTransitionController> _transitionController;
|
| -
|
| - base::scoped_nsobject<UILabel> _titleLabel;
|
| - base::scoped_nsobject<SignedInAccountsCollectionViewController>
|
| - _accountsCollection;
|
| - base::scoped_nsobject<UILabel> _infoLabel;
|
| - base::scoped_nsobject<MDCButton> _primaryButton;
|
| - base::scoped_nsobject<MDCButton> _secondaryButton;
|
| + MDCDialogTransitionController* _transitionController;
|
| +
|
| + UILabel* _titleLabel;
|
| + SignedInAccountsCollectionViewController* _accountsCollection;
|
| + UILabel* _infoLabel;
|
| + MDCButton* _primaryButton;
|
| + MDCButton* _secondaryButton;
|
| }
|
| @end
|
|
|
| @@ -212,7 +214,7 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| _browserState = browserState;
|
| _tokenServiceObserver.reset(new OAuth2TokenServiceObserverBridge(
|
| OAuth2TokenServiceFactory::GetForBrowserState(_browserState), self));
|
| - _transitionController.reset([[MDCDialogTransitionController alloc] init]);
|
| + _transitionController = [[MDCDialogTransitionController alloc] init];
|
| self.modalPresentationStyle = UIModalPresentationCustom;
|
| self.transitioningDelegate = _transitionController;
|
| }
|
| @@ -231,7 +233,6 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| [_secondaryButton removeTarget:self
|
| action:@selector(onSecondaryButtonPressed:)
|
| forControlEvents:UIControlEventTouchDown];
|
| - [super dealloc];
|
| }
|
|
|
| #pragma mark UIViewController
|
| @@ -260,31 +261,31 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
|
|
| self.view.backgroundColor = [UIColor whiteColor];
|
|
|
| - _titleLabel.reset([[UILabel alloc] initWithFrame:CGRectZero]);
|
| - _titleLabel.get().text =
|
| + _titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
|
| + _titleLabel.text =
|
| l10n_util::GetNSString(IDS_IOS_SIGNED_IN_ACCOUNTS_VIEW_TITLE);
|
| - _titleLabel.get().textColor = [[MDCPalette greyPalette] tint900];
|
| - _titleLabel.get().font = [MDCTypography headlineFont];
|
| - _titleLabel.get().translatesAutoresizingMaskIntoConstraints = NO;
|
| + _titleLabel.textColor = [[MDCPalette greyPalette] tint900];
|
| + _titleLabel.font = [MDCTypography headlineFont];
|
| + _titleLabel.translatesAutoresizingMaskIntoConstraints = NO;
|
| [self.view addSubview:_titleLabel];
|
|
|
| - _accountsCollection.reset([[SignedInAccountsCollectionViewController alloc]
|
| - initWithBrowserState:_browserState]);
|
| - _accountsCollection.get().view.translatesAutoresizingMaskIntoConstraints = NO;
|
| + _accountsCollection = [[SignedInAccountsCollectionViewController alloc]
|
| + initWithBrowserState:_browserState];
|
| + _accountsCollection.view.translatesAutoresizingMaskIntoConstraints = NO;
|
| [self addChildViewController:_accountsCollection];
|
| - [self.view addSubview:_accountsCollection.get().view];
|
| + [self.view addSubview:_accountsCollection.view];
|
| [_accountsCollection didMoveToParentViewController:self];
|
|
|
| - _infoLabel.reset([[UILabel alloc] initWithFrame:CGRectZero]);
|
| - _infoLabel.get().text =
|
| + _infoLabel = [[UILabel alloc] initWithFrame:CGRectZero];
|
| + _infoLabel.text =
|
| l10n_util::GetNSString(IDS_IOS_SIGNED_IN_ACCOUNTS_VIEW_INFO);
|
| - _infoLabel.get().numberOfLines = 0;
|
| - _infoLabel.get().textColor = [[MDCPalette greyPalette] tint700];
|
| - _infoLabel.get().font = [MDCTypography body1Font];
|
| - _infoLabel.get().translatesAutoresizingMaskIntoConstraints = NO;
|
| + _infoLabel.numberOfLines = 0;
|
| + _infoLabel.textColor = [[MDCPalette greyPalette] tint700];
|
| + _infoLabel.font = [MDCTypography body1Font];
|
| + _infoLabel.translatesAutoresizingMaskIntoConstraints = NO;
|
| [self.view addSubview:_infoLabel];
|
|
|
| - _primaryButton.reset([[MDCFlatButton alloc] init]);
|
| + _primaryButton = [[MDCFlatButton alloc] init];
|
| [_primaryButton addTarget:self
|
| action:@selector(onPrimaryButtonPressed:)
|
| forControlEvents:UIControlEventTouchUpInside];
|
| @@ -293,13 +294,13 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| forState:UIControlStateNormal];
|
| [_primaryButton setBackgroundColor:[[MDCPalette cr_bluePalette] tint500]
|
| forState:UIControlStateNormal];
|
| - _primaryButton.get().customTitleColor = [UIColor whiteColor];
|
| - _primaryButton.get().underlyingColorHint = [UIColor blackColor];
|
| - _primaryButton.get().inkColor = [UIColor colorWithWhite:1 alpha:0.2f];
|
| - _primaryButton.get().translatesAutoresizingMaskIntoConstraints = NO;
|
| + _primaryButton.customTitleColor = [UIColor whiteColor];
|
| + _primaryButton.underlyingColorHint = [UIColor blackColor];
|
| + _primaryButton.inkColor = [UIColor colorWithWhite:1 alpha:0.2f];
|
| + _primaryButton.translatesAutoresizingMaskIntoConstraints = NO;
|
| [self.view addSubview:_primaryButton];
|
|
|
| - _secondaryButton.reset([[MDCFlatButton alloc] init]);
|
| + _secondaryButton = [[MDCFlatButton alloc] init];
|
| [_secondaryButton addTarget:self
|
| action:@selector(onSecondaryButtonPressed:)
|
| forControlEvents:UIControlEventTouchUpInside];
|
| @@ -309,16 +310,15 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| forState:UIControlStateNormal];
|
| [_secondaryButton setBackgroundColor:[UIColor whiteColor]
|
| forState:UIControlStateNormal];
|
| - _secondaryButton.get().customTitleColor =
|
| - [[MDCPalette cr_bluePalette] tint500];
|
| - _secondaryButton.get().underlyingColorHint = [UIColor whiteColor];
|
| - _secondaryButton.get().inkColor = [UIColor colorWithWhite:0 alpha:0.06f];
|
| - _secondaryButton.get().translatesAutoresizingMaskIntoConstraints = NO;
|
| + _secondaryButton.customTitleColor = [[MDCPalette cr_bluePalette] tint500];
|
| + _secondaryButton.underlyingColorHint = [UIColor whiteColor];
|
| + _secondaryButton.inkColor = [UIColor colorWithWhite:0 alpha:0.06f];
|
| + _secondaryButton.translatesAutoresizingMaskIntoConstraints = NO;
|
| [self.view addSubview:_secondaryButton];
|
|
|
| NSDictionary* views = @{
|
| @"title" : _titleLabel,
|
| - @"accounts" : _accountsCollection.get().view,
|
| + @"accounts" : _accountsCollection.view,
|
| @"info" : _infoLabel,
|
| @"primaryButton" : _primaryButton,
|
| @"secondaryButton" : _secondaryButton,
|
| @@ -370,8 +370,8 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
|
|
| - (void)onSecondaryButtonPressed:(id)sender {
|
| [self dismiss];
|
| - base::scoped_nsobject<GenericChromeCommand> showAccountsSettingsCommand(
|
| - [[GenericChromeCommand alloc] initWithTag:IDC_SHOW_ACCOUNTS_SETTINGS]);
|
| + GenericChromeCommand* showAccountsSettingsCommand =
|
| + [[GenericChromeCommand alloc] initWithTag:IDC_SHOW_ACCOUNTS_SETTINGS];
|
| [self chromeExecuteCommand:showAccountsSettingsCommand];
|
| }
|
|
|
| @@ -385,7 +385,7 @@ BOOL gSignedInAccountsViewControllerIsShown = NO;
|
| return;
|
| }
|
| [_accountsCollection loadModel];
|
| - [_accountsCollection.get().collectionView reloadData];
|
| + [_accountsCollection.collectionView reloadData];
|
| }
|
|
|
| @end
|
|
|