Commit 333a9107 authored by jennyz@chromium.org's avatar jennyz@chromium.org

Revert 151911 - Fixing gdata updates in the system tray.

BUG=141826
TEST=Manual test.


Review URL: https://chromiumcodereview.appspot.com/10854160

TBR=serya@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10837318

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152152 0039d316-1c4b-4281-b951-d872f2087c98
parent d812fdcb
......@@ -208,9 +208,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
registrar_.Add(this,
chrome::NOTIFICATION_PROFILE_CREATED,
content::NotificationService::AllSources());
registrar_.Add(this,
chrome::NOTIFICATION_LOGIN_USER_CHANGED,
content::NotificationService::AllSources());
accessibility_enabled_.Init(prefs::kSpokenFeedbackEnabled,
g_browser_process->local_state(), this);
......@@ -240,10 +237,14 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
bluetooth_adapter_->RemoveObserver(this);
// Stop observing gdata operations.
GDataSystemService* system_service = FindGDataSystemService();
if (system_service) {
system_service->docs_service()->operation_registry()->
RemoveObserver(this);
Profile* profile = ProfileManager::GetDefaultProfile();
if (gdata::util::IsGDataAvailable(profile)) {
GDataSystemService* system_service =
GDataSystemServiceFactory::FindForProfile(profile);
if (system_service) {
system_service->docs_service()->operation_registry()->
RemoveObserver(this);
}
}
}
......@@ -452,7 +453,12 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
}
virtual void CancelDriveOperation(const FilePath& file_path) OVERRIDE {
GDataSystemService* system_service = FindGDataSystemService();
Profile* profile = ProfileManager::GetDefaultProfile();
if (!gdata::util::IsGDataAvailable(profile))
return;
GDataSystemService* system_service =
GDataSystemServiceFactory::FindForProfile(profile);
if (!system_service)
return;
......@@ -462,7 +468,12 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
virtual void GetDriveOperationStatusList(
ash::DriveOperationStatusList* list) OVERRIDE {
GDataSystemService* system_service = FindGDataSystemService();
Profile* profile = ProfileManager::GetDefaultProfile();
if (!gdata::util::IsGDataAvailable(profile))
return;
GDataSystemService* system_service =
GDataSystemServiceFactory::FindForProfile(profile);
if (!system_service)
return;
......@@ -725,14 +736,15 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
UpdateClockType(profile->GetPrefs());
search_key_mapped_to_ =
profile->GetPrefs()->GetInteger(prefs::kLanguageXkbRemapSearchKeyTo);
}
void ObserveGDataUpdates() {
GDataSystemService* system_service = FindGDataSystemService();
if (!system_service)
return;
if (gdata::util::IsGDataAvailable(profile)) {
GDataSystemService* system_service =
GDataSystemServiceFactory::FindForProfile(profile);
if (!system_service)
return;
system_service->docs_service()->operation_registry()->AddObserver(this);
system_service->docs_service()->operation_registry()->AddObserver(this);
}
}
void UpdateClockType(PrefService* service) {
......@@ -1027,11 +1039,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
}
break;
}
case chrome::NOTIFICATION_LOGIN_USER_CHANGED: {
// GData system service exists by the time if enabled.
ObserveGDataUpdates();
break;
}
case chrome::NOTIFICATION_PREF_CHANGED: {
std::string pref = *content::Details<std::string>(details).ptr();
PrefService* service = content::Source<PrefService>(source).ptr();
......@@ -1123,7 +1130,12 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
// status in UI in cases when there are no new changes coming (i.e. when the
// last set of transfer operations completed).
void RecheckGDataOperations() {
GDataSystemService* system_service = FindGDataSystemService();
Profile* profile = ProfileManager::GetDefaultProfile();
if (!gdata::util::IsGDataAvailable(profile))
return;
GDataSystemService* system_service =
GDataSystemServiceFactory::FindForProfile(profile);
if (!system_service)
return;
......@@ -1131,13 +1143,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
GetProgressStatusList());
}
GDataSystemService* FindGDataSystemService() {
Profile* profile = ProfileManager::GetDefaultProfile();
if (!gdata::util::IsGDataAvailable(profile))
return NULL;
return GDataSystemServiceFactory::FindForProfile(profile);
}
// Overridden from system::TimezoneSettings::Observer.
virtual void TimezoneChanged(const icu::TimeZone& timezone) OVERRIDE {
NotifyRefreshClock();
......
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