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

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

Issue 2815513008: [ObjC ARC] Converts ios/chrome/browser/ui/settings:settings_arc to ARC. (Closed)
Patch Set: Removes accidental retain from another CL Created 3 years, 8 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/settings/accounts_collection_view_controller.mm
diff --git a/ios/chrome/browser/ui/settings/accounts_collection_view_controller.mm b/ios/chrome/browser/ui/settings/accounts_collection_view_controller.mm
index 6cc4d39737d4c166a7cb3d65a7b900fc6ff027f2..9e92d473efa3816a451ab650569d19802e8503a5 100644
--- a/ios/chrome/browser/ui/settings/accounts_collection_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/accounts_collection_view_controller.mm
@@ -4,9 +4,7 @@
#import "ios/chrome/browser/ui/settings/accounts_collection_view_controller.h"
-#import "base/ios/weak_nsobject.h"
#import "base/mac/foundation_util.h"
-#import "base/mac/scoped_nsobject.h"
#include "base/metrics/user_metrics.h"
#include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h"
@@ -54,6 +52,10 @@
#import "net/base/mac/url_conversions.h"
#include "ui/base/l10n/l10n_util_mac.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
NSString* const kSettingsAccountsId = @"kSettingsAccountsId";
NSString* const kSettingsHeaderId = @"kSettingsHeaderId";
NSString* const kSettingsAccountsSignoutCellId =
@@ -88,23 +90,21 @@ typedef NS_ENUM(NSInteger, ItemType) {
BOOL _closeSettingsOnAddAccount;
std::unique_ptr<SyncObserverBridge> _syncObserver;
std::unique_ptr<OAuth2TokenServiceObserverBridge> _tokenServiceObserver;
- base::scoped_nsobject<SigninInteractionController>
- _signinInteractionController;
+ SigninInteractionController* _signinInteractionController;
// Modal alert for sign out.
- base::scoped_nsobject<AlertCoordinator> _alertCoordinator;
+ AlertCoordinator* _alertCoordinator;
// Whether an authentication operation is in progress (e.g switch accounts,
// sign out).
BOOL _authenticationOperationInProgress;
// Whether the view controller is currently being dismissed and new dismiss
// requests should be ignored.
BOOL _isBeingDismissed;
- base::WeakNSObject<UIViewController> _settingsDetails;
- base::scoped_nsobject<ResizedAvatarCache> _avatarCache;
+ __weak UIViewController* _settingsDetails;
+ ResizedAvatarCache* _avatarCache;
std::unique_ptr<ChromeIdentityServiceObserverBridge> _identityServiceObserver;
// Enable lookup of item corresponding to a given identity GAIA ID string.
- base::scoped_nsobject<NSDictionary<NSString*, CollectionViewItem*>>
- _identityMap;
+ NSDictionary<NSString*, CollectionViewItem*>* _identityMap;
}
// Stops observing browser state services. This is required during the shutdown
@@ -139,7 +139,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
name:kSwitchAccountDidFinishNotification
object:nil];
self.collectionViewAccessibilityIdentifier = kSettingsAccountsId;
- _avatarCache.reset([[ResizedAvatarCache alloc] init]);
+ _avatarCache = [[ResizedAvatarCache alloc] init];
_identityServiceObserver.reset(
new ChromeIdentityServiceObserverBridge(self));
[self loadModel];
@@ -150,7 +150,6 @@ typedef NS_ENUM(NSInteger, ItemType) {
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
- [super dealloc];
}
- (void)stopBrowserStateServiceObservers {
@@ -199,7 +198,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
CollectionViewModel* model = self.collectionViewModel;
NSMutableDictionary<NSString*, CollectionViewItem*>* mutableIdentityMap =
- [[[NSMutableDictionary alloc] init] autorelease];
+ [[NSMutableDictionary alloc] init];
// Account cells.
ProfileOAuth2TokenService* oauth2_service =
@@ -219,7 +218,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
[mutableIdentityMap setObject:item forKey:identity.gaiaID];
}
- _identityMap.reset([mutableIdentityMap retain]);
+ _identityMap = mutableIdentityMap;
[model addItem:[self addAccountItem]
toSectionWithIdentifier:SectionIdentifierAccounts];
@@ -239,8 +238,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
#pragma mark - Model objects
- (CollectionViewItem*)header {
- CollectionViewTextItem* header = [
- [[CollectionViewTextItem alloc] initWithType:ItemTypeHeader] autorelease];
+ CollectionViewTextItem* header =
+ [[CollectionViewTextItem alloc] initWithType:ItemTypeHeader];
header.text = l10n_util::GetNSString(IDS_IOS_OPTIONS_ACCOUNTS_DESCRIPTION);
header.accessibilityIdentifier = kSettingsHeaderId;
header.textColor = [[MDCPalette greyPalette] tint500];
@@ -248,8 +247,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
}
- (CollectionViewItem*)accountItem:(ChromeIdentity*)identity {
- CollectionViewAccountItem* item = [[[CollectionViewAccountItem alloc]
- initWithType:ItemTypeAccount] autorelease];
+ CollectionViewAccountItem* item =
+ [[CollectionViewAccountItem alloc] initWithType:ItemTypeAccount];
[self updateAccountItem:item withIdentity:identity];
return item;
}
@@ -263,8 +262,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
}
- (CollectionViewItem*)addAccountItem {
- CollectionViewAccountItem* item = [[[CollectionViewAccountItem alloc]
- initWithType:ItemTypeAddAccount] autorelease];
+ CollectionViewAccountItem* item =
+ [[CollectionViewAccountItem alloc] initWithType:ItemTypeAddAccount];
item.text =
l10n_util::GetNSString(IDS_IOS_OPTIONS_ACCOUNTS_ADD_ACCOUNT_BUTTON);
item.image = [UIImage imageNamed:@"settings_accounts_add_account"];
@@ -273,7 +272,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
- (CollectionViewItem*)syncItem {
AccountControlItem* item =
- [[[AccountControlItem alloc] initWithType:ItemTypeSync] autorelease];
+ [[AccountControlItem alloc] initWithType:ItemTypeSync];
item.text = l10n_util::GetNSString(IDS_IOS_OPTIONS_ACCOUNTS_SYNC_TITLE);
item.accessibilityIdentifier = kSettingsAccountsSyncCellId;
[self updateSyncItem:item];
@@ -315,8 +314,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
}
- (CollectionViewItem*)googleActivityControlsItem {
- AccountControlItem* item = [[[AccountControlItem alloc]
- initWithType:ItemTypeGoogleActivityControls] autorelease];
+ AccountControlItem* item =
+ [[AccountControlItem alloc] initWithType:ItemTypeGoogleActivityControls];
item.text = l10n_util::GetNSString(IDS_IOS_OPTIONS_ACCOUNTS_GOOGLE_TITLE);
item.detailText =
l10n_util::GetNSString(IDS_IOS_OPTIONS_ACCOUNTS_GOOGLE_DESCRIPTION);
@@ -328,8 +327,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
}
- (CollectionViewItem*)signOutItem {
- CollectionViewTextItem* item = [[[CollectionViewTextItem alloc]
- initWithType:ItemTypeSignOut] autorelease];
+ CollectionViewTextItem* item =
+ [[CollectionViewTextItem alloc] initWithType:ItemTypeSignOut];
item.text = l10n_util::GetNSString(IDS_IOS_OPTIONS_ACCOUNTS_SIGNOUT);
item.accessibilityTraits |= UIAccessibilityTraitButton;
item.accessibilityIdentifier = kSettingsAccountsSignoutCellId;
@@ -417,7 +416,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
[self popViewIfSignedOut];
if (![self authService]->IsAuthenticated() && _settingsDetails) {
[_settingsDetails dismissViewControllerAnimated:YES completion:nil];
- _settingsDetails.reset();
+ _settingsDetails = nil;
}
}
@@ -433,10 +432,10 @@ typedef NS_ENUM(NSInteger, ItemType) {
return;
}
- base::scoped_nsobject<UIViewController> controllerToPush(
+ UIViewController* controllerToPush =
[[SyncSettingsCollectionViewController alloc]
initWithBrowserState:_browserState
- allowSwitchSyncAccount:YES]);
+ allowSwitchSyncAccount:YES];
[self.navigationController pushViewController:controllerToPush animated:YES];
}
@@ -445,14 +444,14 @@ typedef NS_ENUM(NSInteger, ItemType) {
return;
base::RecordAction(base::UserMetricsAction(
"Signin_AccountSettings_GoogleActivityControlsClicked"));
- base::scoped_nsobject<UINavigationController> settingsDetails(
+ UINavigationController* settingsDetails =
ios::GetChromeBrowserProvider()
->GetChromeIdentityService()
->NewWebAndAppSettingDetails(
- [self authService]->GetAuthenticatedIdentity(), self));
+ [self authService]->GetAuthenticatedIdentity(), self);
UIImage* closeIcon = [ChromeIcon closeIcon];
SEL action = @selector(closeGoogleActivitySettings:);
- [settingsDetails.get().topViewController navigationItem].leftBarButtonItem =
+ [settingsDetails.topViewController navigationItem].leftBarButtonItem =
[ChromeIcon templateBarButtonItemWithImage:closeIcon
target:self
action:action];
@@ -460,7 +459,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
// Keep a weak reference on the settings details, to be able to dismiss it
// when the primary account is removed.
- _settingsDetails.reset(settingsDetails);
+ _settingsDetails = settingsDetails;
}
- (void)closeGoogleActivitySettings:(id)sender {
@@ -478,17 +477,17 @@ typedef NS_ENUM(NSInteger, ItemType) {
// in-progress.
return;
}
- _signinInteractionController.reset([[SigninInteractionController alloc]
+ _signinInteractionController = [[SigninInteractionController alloc]
initWithBrowserState:_browserState
presentingViewController:self.navigationController
isPresentedOnSettings:YES
signInAccessPoint:signin_metrics::AccessPoint::
- ACCESS_POINT_SETTINGS]);
+ ACCESS_POINT_SETTINGS];
// |_authenticationOperationInProgress| is reset when the signin interaction
// controller is dismissed.
_authenticationOperationInProgress = YES;
- base::WeakNSObject<AccountsCollectionViewController> weakSelf(self);
+ __weak AccountsCollectionViewController* weakSelf = self;
[_signinInteractionController addAccountWithCompletion:^(BOOL success) {
[weakSelf handleDidAddAccount:success];
}
@@ -496,11 +495,11 @@ typedef NS_ENUM(NSInteger, ItemType) {
}
- (void)handleDidAddAccount:(BOOL)success {
- _signinInteractionController.reset();
+ _signinInteractionController = nil;
[self handleAuthenticationOperationDidFinish];
if (success && _closeSettingsOnAddAccount) {
- base::scoped_nsobject<GenericChromeCommand> closeSettingsCommand(
- [[GenericChromeCommand alloc] initWithTag:IDC_CLOSE_SETTINGS]);
+ GenericChromeCommand* closeSettingsCommand =
+ [[GenericChromeCommand alloc] initWithTag:IDC_CLOSE_SETTINGS];
[self chromeExecuteCommand:closeSettingsCommand];
}
}
@@ -508,10 +507,9 @@ typedef NS_ENUM(NSInteger, ItemType) {
- (void)showAccountDetails:(ChromeIdentity*)identity {
if ([_alertCoordinator isVisible])
return;
- base::scoped_nsobject<UIViewController> accountDetails(
- ios::GetChromeBrowserProvider()
- ->GetChromeIdentityService()
- ->NewAccountDetails(identity, self));
+ UIViewController* accountDetails = ios::GetChromeBrowserProvider()
+ ->GetChromeIdentityService()
+ ->NewAccountDetails(identity, self);
if (!accountDetails) {
// Failed to create a new account details. Ignored.
return;
@@ -520,7 +518,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
// Keep a weak reference on the account details, to be able to dismiss it
// when the primary account is removed.
- _settingsDetails.reset(accountDetails);
+ _settingsDetails = accountDetails;
}
- (void)showDisconnect {
@@ -549,15 +547,15 @@ typedef NS_ENUM(NSInteger, ItemType) {
continueButtonTitle = l10n_util::GetNSString(
IDS_IOS_DISCONNECT_DIALOG_CONTINUE_BUTTON_MOBILE);
}
- _alertCoordinator.reset([[AlertCoordinator alloc]
- initWithBaseViewController:self
- title:title
- message:message]);
+ _alertCoordinator =
+ [[AlertCoordinator alloc] initWithBaseViewController:self
+ title:title
+ message:message];
[_alertCoordinator addItemWithTitle:l10n_util::GetNSString(IDS_CANCEL)
action:nil
style:UIAlertActionStyleCancel];
- base::WeakNSObject<AccountsCollectionViewController> weakSelf(self);
+ __weak AccountsCollectionViewController* weakSelf = self;
[_alertCoordinator addItemWithTitle:continueButtonTitle
action:^{
[weakSelf handleDisconnect];
@@ -635,8 +633,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
- (void)openURL:(NSURL*)url
view:(UIView*)view
viewController:(UIViewController*)viewController {
- base::scoped_nsobject<OpenUrlCommand> command(
- [[OpenUrlCommand alloc] initWithURLFromChrome:net::GURLWithNSURL(url)]);
+ OpenUrlCommand* command =
+ [[OpenUrlCommand alloc] initWithURLFromChrome:net::GURLWithNSURL(url)];
[command setTag:IDC_CLOSE_SETTINGS_AND_OPEN_URL];
[self chromeExecuteCommand:command];
}

Powered by Google App Engine
This is Rietveld 408576698