Commit c629cc46 authored by Jérôme Lebel's avatar Jérôme Lebel Committed by Commit Bot

[iOS] Cleaning up signin_promo_view_mediator.* files

Adding comments, fixing @property and @synthesize, and moving
all private methods together.
Related to:
crrev.com/c/1718370/4/ios/chrome/browser/ui/authentication/signin_promo_view_mediator.mm#275

Bug: 988060
Change-Id: Ic4986ea549bb6ade54afb0fe8a86e0fe8edda10d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1824463
Commit-Queue: Jérôme Lebel <jlebel@chromium.org>
Auto-Submit: Jérôme Lebel <jlebel@chromium.org>
Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Reviewed-by: default avatarGauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#701958}
parent 752b08a2
......@@ -26,8 +26,9 @@ class ChromeBrowserState;
// way to go backwards. All states can be skipped except |NeverVisible| and
// |Invalid|.
enum class SigninPromoViewState {
// Initial state. When -[SigninPromoViewMediator signinPromoViewRemoved] is
// called with that state, no metrics is recorded.
// Initial state. When -[SigninPromoViewMediator
// signinPromoViewIsRemoved] is called with that state, no metrics is
// recorded.
NeverVisible = 0,
// None of the buttons has been used yet.
Unused,
......@@ -55,13 +56,18 @@ class PrefRegistrySyncable;
// Chrome identity used to configure the view in a warm state mode. Otherwise
// contains nil.
@property(nonatomic, readonly) ChromeIdentity* defaultIdentity;
@property(nonatomic, strong, readonly) ChromeIdentity* defaultIdentity;
// Sign-in promo view state.
@property(nonatomic) ios::SigninPromoViewState signinPromoViewState;
@property(nonatomic, assign) ios::SigninPromoViewState signinPromoViewState;
// YES if the sign-in interaction controller is shown.
@property(nonatomic, readonly, getter=isSigninInProgress) BOOL signinInProgress;
@property(nonatomic, assign, readonly, getter=isSigninInProgress)
BOOL signinInProgress;
// Returns YES if the sign-in promo view is |Invalid|, |Closed| or invisible.
@property(nonatomic, assign, readonly, getter=isInvalidClosedOrNeverVisible)
BOOL invalidClosedOrNeverVisible;
// Registers the feature preferences.
+ (void)registerBrowserStatePrefs:(user_prefs::PrefRegistrySyncable*)registry;
......@@ -90,19 +96,16 @@ class PrefRegistrySyncable;
// Increments the "shown" counter used for histograms. Called when the signin
// promo view is visible. If the sign-in promo is already visible, this method
// does nothing.
- (void)signinPromoViewVisible;
- (void)signinPromoViewIsVisible;
// Called when the sign-in promo view is hidden. If the sign-in promo view has
// never been shown, or it is already hidden, this method does nothing.
- (void)signinPromoViewHidden;
- (void)signinPromoViewIsHidden;
// Called when the sign-in promo view is removed from the view hierarchy (it or
// one of its superviews is removed). The mediator should not be used after this
// called.
- (void)signinPromoViewRemoved;
// Returns YES if the sign-in promo view is |Invalid|, |Closed| or |Invisible|.
- (BOOL)isInvalidClosedOrNeverVisible;
- (void)signinPromoViewIsRemoved;
@end
......
......@@ -47,7 +47,7 @@ class SigninPromoViewMediatorTest : public PlatformTest {
// in the test.
EXPECT_FALSE(ios::FakeChromeIdentityService::GetInstanceFromChromeProvider()
->HasPendingCallback());
[mediator_ signinPromoViewRemoved];
[mediator_ signinPromoViewIsRemoved];
EXPECT_EQ(ios::SigninPromoViewState::Invalid,
mediator_.signinPromoViewState);
mediator_ = nil;
......@@ -267,13 +267,13 @@ TEST_F(SigninPromoViewMediatorTest, ConfigureSigninPromoViewWithWarmAndCold) {
}
// Tests the view state before and after calling -[SigninPromoViewMediator
// signinPromoViewVisible].
// signinPromoViewIsVisible].
TEST_F(SigninPromoViewMediatorTest, SigninPromoViewStateVisible) {
CreateMediator(signin_metrics::AccessPoint::ACCESS_POINT_RECENT_TABS);
// Test initial state.
EXPECT_EQ(ios::SigninPromoViewState::NeverVisible,
mediator_.signinPromoViewState);
[mediator_ signinPromoViewVisible];
[mediator_ signinPromoViewIsVisible];
// Test state once the sign-in promo view is visible.
EXPECT_EQ(ios::SigninPromoViewState::Unused, mediator_.signinPromoViewState);
}
......@@ -281,7 +281,7 @@ TEST_F(SigninPromoViewMediatorTest, SigninPromoViewStateVisible) {
// Tests the view state while signing in.
TEST_F(SigninPromoViewMediatorTest, SigninPromoViewStateSignedin) {
CreateMediator(signin_metrics::AccessPoint::ACCESS_POINT_RECENT_TABS);
[mediator_ signinPromoViewVisible];
[mediator_ signinPromoViewIsVisible];
__block ShowSigninCommandCompletionCallback completion;
ShowSigninCommandCompletionCallback completion_arg =
[OCMArg checkWithBlock:^BOOL(ShowSigninCommandCompletionCallback value) {
......@@ -297,14 +297,14 @@ TEST_F(SigninPromoViewMediatorTest, SigninPromoViewStateSignedin) {
PROMO_ACTION_NEW_ACCOUNT_NO_EXISTING_ACCOUNT
completion:completion_arg]);
[mediator_ signinPromoViewDidTapSigninWithNewAccount:signin_promo_view_];
EXPECT_TRUE(mediator_.isSigninInProgress);
EXPECT_TRUE(mediator_.signinInProgress);
EXPECT_EQ(ios::SigninPromoViewState::UsedAtLeastOnce,
mediator_.signinPromoViewState);
EXPECT_NE(nil, (id)completion);
// Stop sign-in.
OCMExpect([consumer_ signinDidFinish]);
completion(YES);
EXPECT_FALSE(mediator_.isSigninInProgress);
EXPECT_FALSE(mediator_.signinInProgress);
EXPECT_EQ(ios::SigninPromoViewState::UsedAtLeastOnce,
mediator_.signinPromoViewState);
}
......@@ -314,7 +314,7 @@ TEST_F(SigninPromoViewMediatorTest, SigninPromoViewStateSignedin) {
TEST_F(SigninPromoViewMediatorTest,
SigninPromoViewNoUpdateNotificationWhileSignin) {
CreateMediator(signin_metrics::AccessPoint::ACCESS_POINT_RECENT_TABS);
[mediator_ signinPromoViewVisible];
[mediator_ signinPromoViewIsVisible];
__block ShowSigninCommandCompletionCallback completion;
ShowSigninCommandCompletionCallback completion_arg =
[OCMArg checkWithBlock:^BOOL(ShowSigninCommandCompletionCallback value) {
......@@ -345,7 +345,7 @@ TEST_F(SigninPromoViewMediatorTest,
SigninPromoViewNoUpdateNotificationWhileSignin2) {
AddDefaultIdentity();
CreateMediator(signin_metrics::AccessPoint::ACCESS_POINT_RECENT_TABS);
[mediator_ signinPromoViewVisible];
[mediator_ signinPromoViewIsVisible];
__block ShowSigninCommandCompletionCallback completion;
ShowSigninCommandCompletionCallback completion_arg =
[OCMArg checkWithBlock:^BOOL(ShowSigninCommandCompletionCallback value) {
......
......@@ -277,12 +277,13 @@ const int kMaxBookmarksSearchResults = 50;
[self.sharedState.tableViewModel
addItem:item
toSectionWithIdentifier:BookmarkHomeSectionIdentifierPromo];
[mediator signinPromoViewVisible];
[mediator signinPromoViewIsVisible];
} else {
if (![mediator isInvalidClosedOrNeverVisible]) {
if (!mediator.invalidClosedOrNeverVisible) {
// When the sign-in view is closed, the promo state changes, but
// -[SigninPromoViewMediator signinPromoViewHidden] should not be called.
[mediator signinPromoViewHidden];
// -[SigninPromoViewMediator signinPromoViewIsHidden] should not be
// called.
[mediator signinPromoViewIsHidden];
}
DCHECK([self.sharedState.tableViewModel
......
......@@ -67,7 +67,7 @@
}
- (void)dealloc {
[_signinPromoViewMediator signinPromoViewRemoved];
[_signinPromoViewMediator signinPromoViewIsRemoved];
}
- (void)hidePromoCell {
......@@ -103,7 +103,7 @@
// Called when a user signs into Google services such as sync.
- (void)onPrimaryAccountSet:(const CoreAccountInfo&)primaryAccountInfo {
if (!self.signinPromoViewMediator.isSigninInProgress)
if (!self.signinPromoViewMediator.signinInProgress)
self.shouldShowSigninPromo = NO;
}
......
......@@ -45,7 +45,7 @@
[[mediator createConfigurator]
configureSigninPromoView:signinPromoCell.signinPromoView];
signinPromoCell.selectionStyle = UITableViewCellSelectionStyleNone;
[mediator signinPromoViewVisible];
[mediator signinPromoViewIsVisible];
}
@end
......@@ -141,7 +141,7 @@ const int kRecentlyClosedTabsSectionIndex = 0;
}
- (void)dealloc {
[_signinPromoViewMediator signinPromoViewRemoved];
[_signinPromoViewMediator signinPromoViewIsRemoved];
}
- (void)viewDidLoad {
......@@ -541,7 +541,7 @@ const int kRecentlyClosedTabsSectionIndex = 0;
if ((newSessionState == self.sessionState &&
self.sessionState !=
SessionsSyncUserState::USER_SIGNED_IN_SYNC_ON_WITH_SESSIONS) ||
self.signinPromoViewMediator.isSigninInProgress) {
self.signinPromoViewMediator.signinInProgress) {
// No need to refresh the sections since all states other than
// USER_SIGNED_IN_SYNC_ON_WITH_SESSIONS only have static content. This means
// that if the previous State is the same as the new one the static content
......@@ -576,7 +576,7 @@ const int kRecentlyClosedTabsSectionIndex = 0;
// table updates rely on knowing the previous state.
self.sessionState = newSessionState;
if (self.sessionState != SessionsSyncUserState::USER_SIGNED_OUT) {
[self.signinPromoViewMediator signinPromoViewRemoved];
[self.signinPromoViewMediator signinPromoViewIsRemoved];
self.signinPromoViewMediator.consumer = nil;
self.signinPromoViewMediator = nil;
}
......@@ -665,7 +665,7 @@ const int kRecentlyClosedTabsSectionIndex = 0;
[self.tableViewModel itemTypeForIndexPath:indexPath];
// If SigninPromo will be shown, |self.signinPromoViewMediator| must know.
if (itemTypeSelected == ItemTypeOtherDevicesSigninPromo) {
[self.signinPromoViewMediator signinPromoViewVisible];
[self.signinPromoViewMediator signinPromoViewIsVisible];
}
// Retrieve favicons for closed tabs and remote sessions.
if (itemTypeSelected == ItemTypeRecentlyClosed ||
......
......@@ -368,7 +368,7 @@ NSString* kDevViewSourceKey = @"DevViewSource";
_signinPromoViewMediator.consumer = self;
}
} else {
[_signinPromoViewMediator signinPromoViewRemoved];
[_signinPromoViewMediator signinPromoViewIsRemoved];
_signinPromoViewMediator = nil;
}
[model addItem:[self signInTextItem]
......@@ -377,7 +377,7 @@ NSString* kDevViewSourceKey = @"DevViewSource";
// Account section
[model addSectionWithIdentifier:SectionIdentifierAccount];
_hasRecordedSigninImpression = NO;
[_signinPromoViewMediator signinPromoViewRemoved];
[_signinPromoViewMediator signinPromoViewIsRemoved];
_signinPromoViewMediator = nil;
[model addItem:[self accountCellItem]
toSectionWithIdentifier:SectionIdentifierAccount];
......@@ -456,7 +456,7 @@ NSString* kDevViewSourceKey = @"DevViewSource";
signinPromoItem.configurator =
[_signinPromoViewMediator createConfigurator];
signinPromoItem.delegate = _signinPromoViewMediator;
[_signinPromoViewMediator signinPromoViewVisible];
[_signinPromoViewMediator signinPromoViewIsVisible];
return signinPromoItem;
}
if (!_hasRecordedSigninImpression) {
......@@ -1096,7 +1096,7 @@ NSString* kDevViewSourceKey = @"DevViewSource";
_googleServicesSettingsCoordinator = nil;
_settingsHasBeenDismissed = YES;
[self.signinInteractionCoordinator cancel];
[_signinPromoViewMediator signinPromoViewRemoved];
[_signinPromoViewMediator signinPromoViewIsRemoved];
_signinPromoViewMediator = nil;
[self stopBrowserStateServiceObservers];
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment