Commit cfeea059 authored by Mario Sanchez Prada's avatar Mario Sanchez Prada Committed by Commit Bot

Convert SyncedSessionsObserverBridge to IdentityManager::Observer

Also convert a call to SigninManagerBase::IsAuthenticated() to
IdentityManager::HasPrimaryAccount().

Bug: 887462
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: Id2d40b7d6e9064a7fa2d64dc3d9a8914d18e795b
Reviewed-on: https://chromium-review.googlesource.com/c/1288542
Commit-Queue: Mario Sanchez Prada <mario@igalia.com>
Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601890}
parent 9abc945a
......@@ -77,6 +77,7 @@ source_set("sync") {
"//ios/chrome/common",
"//ios/web",
"//net",
"//services/identity/public/cpp",
"//ui/base",
"//url",
]
......
......@@ -7,14 +7,17 @@
#import <Foundation/Foundation.h>
#include "components/signin/core/browser/signin_manager_base.h"
#include "components/sync/driver/sync_service_observer.h"
#import "ios/chrome/browser/sync/sync_observer_bridge.h"
#include "services/identity/public/cpp/identity_manager.h"
namespace ios {
class ChromeBrowserState;
}
class SigninManager;
namespace identity {
class IdentityManager;
}
@protocol SyncedSessionsObserver<SyncObserverModelBridge>
// Reloads the session data.
......@@ -25,8 +28,9 @@ namespace synced_sessions {
// Bridge class that will notify the panel when the remote sessions content
// change.
class SyncedSessionsObserverBridge : public SyncObserverBridge,
public SigninManagerBase::Observer {
class SyncedSessionsObserverBridge
: public SyncObserverBridge,
public identity::IdentityManager::Observer {
public:
SyncedSessionsObserverBridge(id<SyncedSessionsObserver> owner,
ios::ChromeBrowserState* browserState);
......@@ -36,9 +40,10 @@ class SyncedSessionsObserverBridge : public SyncObserverBridge,
void OnSyncCycleCompleted(syncer::SyncService* sync) override;
void OnSyncConfigurationCompleted(syncer::SyncService* sync) override;
void OnForeignSessionUpdated(syncer::SyncService* sync) override;
// SigninManagerBase::Observer implementation.
void GoogleSignedOut(const std::string& account_id,
const std::string& username) override;
// identity::IdentityManager::Observer implementation.
void OnPrimaryAccountCleared(
const AccountInfo& previous_primary_account_info) override;
// Returns true if the first sync cycle that contains session information is
// completed. Returns false otherwise.
bool IsFirstSyncCycleCompleted();
......@@ -52,14 +57,16 @@ class SyncedSessionsObserverBridge : public SyncObserverBridge,
private:
__weak id<SyncedSessionsObserver> owner_ = nil;
SigninManager* signin_manager_;
identity::IdentityManager* identity_manager_ = nullptr;
syncer::SyncService* sync_service_;
ios::ChromeBrowserState* browser_state_;
ScopedObserver<SigninManagerBase, SigninManagerBase::Observer>
signin_manager_observer_;
ScopedObserver<identity::IdentityManager, identity::IdentityManager::Observer>
identity_manager_observer_;
// Stores whether the first sync cycle that contains session information is
// completed.
bool first_sync_cycle_is_completed_;
DISALLOW_COPY_AND_ASSIGN(SyncedSessionsObserverBridge);
};
} // namespace synced_sessions
......
......@@ -5,13 +5,13 @@
#import "ios/chrome/browser/sync/synced_sessions_bridge.h"
#include "components/browser_sync/profile_sync_service.h"
#include "components/signin/core/browser/signin_manager.h"
#include "components/sync/driver/sync_service.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
#include "ios/chrome/browser/signin/signin_manager_factory.h"
#include "ios/chrome/browser/signin/identity_manager_factory.h"
#include "ios/chrome/browser/sync/profile_sync_service_factory.h"
#include "ios/chrome/browser/sync/sync_setup_service.h"
#include "ios/chrome/browser/sync/sync_setup_service_factory.h"
#include "services/identity/public/cpp/identity_manager.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
......@@ -28,14 +28,14 @@ SyncedSessionsObserverBridge::SyncedSessionsObserverBridge(
owner,
ProfileSyncServiceFactory::GetForBrowserState(browserState)),
owner_(owner),
signin_manager_(
ios::SigninManagerFactory::GetForBrowserState(browserState)),
identity_manager_(
IdentityManagerFactory::GetForBrowserState(browserState)),
sync_service_(
ProfileSyncServiceFactory::GetForBrowserState(browserState)),
browser_state_(browserState),
signin_manager_observer_(this),
identity_manager_observer_(this),
first_sync_cycle_is_completed_(false) {
signin_manager_observer_.Add(signin_manager_);
identity_manager_observer_.Add(identity_manager_);
CheckIfFirstSyncIsCompleted();
}
......@@ -74,11 +74,10 @@ void SyncedSessionsObserverBridge::CheckIfFirstSyncIsCompleted() {
sync_service_->GetActiveDataTypes().Has(syncer::SESSIONS);
}
#pragma mark - SigninManagerBase::Observer
#pragma mark - identity::IdentityManager::Observer
void SyncedSessionsObserverBridge::GoogleSignedOut(
const std::string& account_id,
const std::string& username) {
void SyncedSessionsObserverBridge::OnPrimaryAccountCleared(
const AccountInfo& previous_primary_account_info) {
first_sync_cycle_is_completed_ = false;
[owner_ reloadSessions];
}
......@@ -86,7 +85,7 @@ void SyncedSessionsObserverBridge::GoogleSignedOut(
#pragma mark - Signin and syncing status
bool SyncedSessionsObserverBridge::IsSignedIn() {
return signin_manager_->IsAuthenticated();
return identity_manager_->HasPrimaryAccount();
}
bool SyncedSessionsObserverBridge::IsSyncing() {
......
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